news 2026/4/16 18:57:17

VueCLI3.X安装与配置全攻略

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
VueCLI3.X安装与配置全攻略

一、Vue CLI 3.X 脚手架安装与使用

1. 安装前提

- 确保已安装 Node.js 8.9+(推荐 10+ 版本),终端输入 node -v 验证版本。

- 若未安装 Node.js,前往 Node.js 官网 下载对应系统版本(建议勾选“Add to PATH”自动配置环境变量)。

2. 全局安装 Vue CLI

打开终端(Windows cmd/PowerShell,Mac/Linux 终端),执行以下命令:

bash

# 卸载旧版本(若曾安装 Vue CLI 2.X)

npm uninstall -g vue-cli

# 安装 Vue CLI 3.X(推荐 npm,也可使用 yarn)

npm install -g @vue/cli

# 验证安装成功(显示版本号即正常)

vue --version 或 vue -V

3. 创建 Vue 项目

方法 1:命令行创建(基础方式)

bash

# 1. 执行创建命令,替换 <project-name> 为项目名称(英文,不含空格)

vue create <project-name>

# 2. 选择项目模板(上下键切换,回车确认)

# - Default ([Vue 2] babel, eslint):Vue 2 基础模板(快速上手)

# - Default (Vue 3) ([Vue 3] babel, eslint):Vue 3 基础模板

# - Manually select features:自定义模板(推荐,可选择路由、Vuex 等)

# 3. 自定义模板选择(按空格勾选/取消,回车下一步)

# 必选:Babel(ES6 转 ES5)、ESLint(代码语法检查)

# 常用可选:Router(路由)、Vuex(状态管理)、CSS Pre-processors(CSS 预处理器,如 Less/Sass)、Unit Testing(单元测试)

# 4. 后续配置(根据选择的功能弹出,按需求选择)

# - 选择 Vue 版本(Vue 2 或 Vue 3)

# - 是否使用 history 模式的路由(是则输入 Y,否则 N,默认 hash 模式)

# - 选择 CSS 预处理器(Less/Sass/SCSS/Stylus,推荐 Less)

# - 选择 ESLint 配置(推荐 Standard 或 Airbnb)

# - 选择 ESLint 校验时机(保存时/提交时,推荐保存时)

# - 选择配置文件存放位置(单独文件/ package.json 中,推荐单独文件)

# - 是否保存为预设模板(后续创建项目可复用,输入 Y/N)

# 5. 等待依赖安装完成(网络慢可切换 npm 镜像:npm config set registry https://registry.npm.taobao.org)

方法 2:图形化界面创建(可视化操作)

bash

# 1. 启动 Vue CLI 图形化工具

vue ui

# 2. 浏览器自动打开 http://localhost:8000,点击“创建”→ 选择项目存放目录 → 输入项目名称 → 点击“下一步”

# 3. 选择模板(同命令行,基础/自定义)→ 配置项目功能 → 点击“创建项目”

4. 运行/打包项目

bash

# 1. 进入项目目录

cd <project-name>

# 2. 启动开发服务器(默认端口 8080,浏览器访问 http://localhost:8080)

npm run serve

# 3. 打包生产环境(生成 dist 目录,用于部署)

npm run build

# 4. 代码校验(修复 ESLint 错误)

npm run lint

二、Vue CLI 插件的使用方法

Vue CLI 插件是扩展项目功能的核心(如路由、Vuex、UI 库等),支持安装/卸载/更新,分为官方插件(@vue/cli-plugin-xxx)和第三方插件(如 vue-cli-plugin-element)。

1. 安装插件(3 种方式)

方式 1:命令行安装(推荐)

bash

# 进入项目目录后执行,替换 <plugin-name> 为插件名称

vue add <plugin-name>

# 示例 1:安装官方路由插件(已创建项目无路由时)

vue add router

# 示例 2:安装官方 Vuex 插件

vue add vuex

# 示例 3:安装第三方插件(如 Element UI)

vue add element

方式 2:图形化界面安装

1. 启动图形化工具: vue ui

2. 进入已创建的项目 → 点击左侧“插件” → 点击“添加插件”

3. 搜索插件名称(如 router、element)→ 选择插件 → 点击“安装” → 按提示配置

方式 3:npm/yarn 安装(适用于非 Vue CLI 官方插件)

bash

# 安装插件(如 axios)

npm install axios --save

# 在项目中直接引入使用(main.js 中全局引入或组件内局部引入)

import axios from 'axios'

Vue.prototype.$axios = axios // 全局挂载

2. 卸载插件

bash

# 命令行卸载(替换 <plugin-name> 为插件名称)

npm uninstall <plugin-name>

# 示例:卸载 Element UI 插件

npm uninstall element-ui

3. 常用官方插件

- @vue/cli-plugin-babel :ES6 转 ES5(默认安装)

- @vue/cli-plugin-eslint :代码语法检查(默认安装)

- @vue/cli-plugin-router :路由管理

- @vue/cli-plugin-vuex :状态管理

- @vue/cli-plugin-css-preprocessors :CSS 预处理器支持

三、vue.config.js 文件配置(核心)

vue.config.js 是 Vue CLI 3.X 的全局配置文件(需手动在项目根目录创建),用于覆盖默认配置(如端口、代理、打包路径等)。

1. 基础配置模板(常用配置合集)

javascript

module.exports = {

// 1. 开发服务器配置(npm run serve 时生效)

devServer: {

port: 8081, // 自定义开发端口(默认 8080)

open: true, // 启动后自动打开浏览器

host: '0.0.0.0', // 允许局域网访问(如手机访问电脑 IP:8081)

proxy: { // 跨域代理配置(解决开发环境跨域问题)

'/api': { // 匹配所有以 /api 开头的请求路径

target: 'http://localhost:8080', // 目标服务器地址(后端接口地址)

changeOrigin: true, // 开启跨域

pathRewrite: { // 路径重写(可选,根据后端接口调整)

'^/api': '' // 去掉请求路径中的 /api(如 /api/user → /user)

}

}

}

},

// 2. 打包配置(npm run build 时生效)

outputDir: 'dist', // 打包输出目录(默认 dist)

assetsDir: 'static', // 静态资源(js/css/img)存放目录(默认 '',即 dist 根目录)

indexPath: 'index.html', // 入口 HTML 文件路径(默认 index.html)

productionSourceMap: false, // 关闭生产环境 sourceMap(减少打包体积,加密源码)

// 3. CSS 相关配置

css: {

extract: true, // 生产环境是否提取 CSS 为单独文件(默认 true)

sourceMap: false, // 是否生成 CSS sourceMap(默认 false)

loaderOptions: { // CSS 预处理器配置(如 Less/Sass)

less: {

// 全局注入 Less 变量(无需在每个组件中 import)

additionalData: `@import "@/assets/style/variables.less";`

}

}

},

// 4. 插件配置

pluginOptions: {

// 第三方插件配置(如 vue-cli-plugin-element)

},

// 5. 其他配置

lintOnSave: process.env.NODE_ENV === 'development', // 仅开发环境开启 ESLint 校验

publicPath: './', // 打包后静态资源访问路径(本地打开 index.html 需配置为 ./,部署服务器可配置为 / 或域名)

}

2. 关键配置说明

- publicPath:核心配置,决定打包后静态资源的访问路径:

- 本地打开 dist/index.html:设置为 ./

- 部署到服务器根目录:设置为 /

- 部署到服务器子目录(如 http://xxx.com/my-project/ ):设置为 /my-project/

- proxy:开发环境跨域必备,无需后端配置 CORS,直接通过代理转发请求。

四、环境变量与模式配置

Vue CLI 支持多环境配置(如开发/测试/生产),通过 .env 文件定义环境变量,实现不同环境下的配置隔离。

1. 环境文件创建(项目根目录)

文件名环境模式生效场景
.env全局环境所有环境都生效
.env.development开发环境npm run serve 时生效
.env.production生产环境npm run build 时生效
.env.test测试环境npm run test 时生效

2. 环境变量定义规则

- 变量名必须以 VUE_APP_ 开头(如 VUE_APP_BASE_API ),否则无法在项目中访问。

- 示例: .env.development 文件内容:

env

# 开发环境接口基础路径

VUE_APP_BASE_API = '/api'

# 开发环境是否开启调试模式

VUE_APP_DEBUG = true

- 示例: .env.production 文件内容:

env

# 生产环境接口基础路径(真实后端地址)

VUE_APP_BASE_API = 'http://www.xxx.com/api'

# 生产环境关闭调试模式

VUE_APP_DEBUG = false

3. 在项目中使用环境变量

- 组件中使用:

javascript

console.log(process.env.VUE_APP_BASE_API) // 开发环境输出 /api,生产环境输出 http://www.xxx.com/api

console.log(process.env.VUE_APP_DEBUG) // 开发环境输出 true,生产环境输出 false

- 配置文件中使用(如 vue.config.js):

javascript

module.exports = {

devServer: {

proxy: {

[process.env.VUE_APP_BASE_API]: { // 直接使用环境变量

target: 'http://localhost:8080',

changeOrigin: true

}

}

}

}

4. 自定义模式(可选)

若需要新增环境(如预发布环境),可创建 .env.staging 文件,然后在 package.json 中配置脚本:

json

{

"scripts": {

"serve": "vue-cli-service serve",

"build": "vue-cli-service build",

"build:staging": "vue-cli-service build --mode staging" // 预发布环境打包命令

}

}

执行 npm run build:staging 即可使用 .env.staging 中的环境变量。

五、静态资源的处理

Vue CLI 3.X 中静态资源主要存放于 public 目录和 src/assets 目录,两者处理方式不同,需注意区分。

1. 两个静态资源目录的区别

目录处理方式访问方式适用场景
public不经过 webpack 打包通过绝对路径访问(如 /logo.png)大文件、第三方库、index.html 引用的资源
src/assets经过 webpack 打包(压缩、哈希)通过相对路径或 import 访问小图片、CSS、JS 等项目内资源

2. 具体使用示例

(1)src/assets 目录资源使用

- 图片资源(如 src/assets/img/logo.png ):

vue

<!-- 组件中直接引用(相对路径) -->

<img src="../assets/img/logo.png" alt="logo">

<!-- 或通过 import 引用(推荐,支持 webpack 处理) -->

<script>

import logo from '@/assets/img/logo.png' // @ 等价于 src 目录

export default {

data() {

return { logo }

}

}

</script>

<template>

<img :src="logo" alt="logo">

</template>

- CSS 资源(如 src/assets/style/main.less ):

javascript

// main.js 中全局引入

import '@/assets/style/main.less'

(2)public 目录资源使用

- 图片资源(如 public/favicon.ico ):

vue

<!-- 绝对路径访问(/ 指向 public 目录) -->

<img src="/favicon.ico" alt="favicon">

- 第三方库(如 public/js/jquery.min.js ):

html

<!-- 在 public/index.html 中引入 -->

<script src="/js/jquery.min.js"></script>

3. 静态资源路径注意事项

- 打包后 public 目录下的资源会原样复制到 dist 目录,访问路径需配合 publicPath 配置。

- 若使用 src/assets 中的资源,webpack 会自动处理图片压缩、文件名哈希(避免缓存),推荐优先使用。

- 当资源体积超过 4KB 时,webpack 会将其转为 base64 编码(减少网络请求),可通过 vue.config.js 中的 chainWebpack 配置调整阈值。

4. 特殊场景:动态加载静态资源

若需要动态加载 src/assets 中的资源(如根据变量切换图片),需使用 require 语法:

vue

<template>

<img :src="getImageUrl('logo.png')" alt="动态图片">

</template>

<script>

export default {

methods: {

getImageUrl(name) {

// 动态加载 src/assets/img 目录下的图片

return require(`@/assets/img/${name}`)

}

}

}

</script>

六、Vue CLI 3.X 核心用法总结

1. 安装:需 Node.js 8.9+,全局执行 npm install -g @vue/cli ,通过 vue create 或 vue ui 创建项目;

2. 插件:用 vue add 安装官方/第三方插件, npm uninstall 卸载,支持命令行或图形化操作;

3. 配置:手动创建 vue.config.js ,可配置端口、代理、打包路径、CSS 预处理器等;

4. 环境变量:创建 .env.xxx 文件(变量名前缀 VUE_APP_ ),区分开发/生产等环境,通过 process.env 访问;

5. 静态资源: src/assets 经 webpack 打包, public 原样复制,分别通过相对/绝对路径访问。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 18:36:31

SQL优化:比解决多行返回更重要的3个设计原则

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个SQL设计评估工具&#xff0c;能够&#xff1a;1) 检查数据库schema设计是否容易导致多行子查询问题 2) 分析查询模式给出优化建议 3) 提供三种替代方案&#xff1a;JOIN重写…

作者头像 李华
网站建设 2026/4/15 21:58:03

如何用AI快速解决Node.js数字信封初始化错误

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Node.js错误诊断工具&#xff0c;专门用于分析和解决error:03000086:digital envelope routines::initialization error。工具应能自动检测Node.js版本、OpenSSL配置和环境…

作者头像 李华
网站建设 2026/4/16 10:12:32

企业IT运维实战:用万能网卡驱动批量部署500+办公电脑

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个企业级网卡驱动批量部署工具&#xff0c;功能包括&#xff1a;1. 支持AD域环境下的静默安装 2. 多网卡型号自动识别和适配 3. 部署状态监控和报告生成 4. 驱动版本管理和回…

作者头像 李华
网站建设 2026/4/15 21:28:25

AI为数字媒资“把关”:意识形态审核平台的技术通俗解读

当下数字媒资呈爆炸式增长&#xff0c;短视频、直播、图文等内容每秒都在海量产生。这些内容里&#xff0c;意识形态导向直接影响信息传播的价值走向&#xff0c;人工审核不仅效率低、易漏判&#xff0c;还难以应对海量内容的冲击。数字媒资AI意识形态审核平台&#xff0c;就是…

作者头像 李华
网站建设 2026/4/16 13:04:51

排烟风机公司排行榜Top1!排烟风机哪个品牌好?

在“双碳”目标与智慧城市建设双重驱动下&#xff0c;厂房通风领域正经历从“功能满足”到“高效、节能”的深刻变革。英飞排烟风机凭借全品类产品矩阵、极端工况适应性&#xff0c;为地铁隧道、工业厂房、商业综合体、商用建筑、展览中心、机场、写字楼、宾馆、饭店、影剧院、…

作者头像 李华
网站建设 2026/4/15 21:26:40

SonarLint实战:如何在大规模项目中提升代码质量

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个实战案例展示工具&#xff0c;模拟大规模项目中使用SonarLint进行代码审查的过程。包括代码扫描、问题分类&#xff08;如Bug、漏洞、代码异味&#xff09;、修复建议生成、…

作者头像 李华