1. Vue3.0项目创建的前置准备
在开始创建Vue3.0项目之前,我们需要先确保开发环境已经准备就绪。与Vue2.x时代不同,Vue3.0的官方推荐工具链已经发生了重大变化。目前Vue团队主推的是基于Vite的构建工具,而不是传统的Vue CLI。
1.1 环境依赖检查
首先需要确认本地已安装Node.js环境(建议版本≥16.0.0),可以通过以下命令检查:
bash复制node -v
npm -v
如果尚未安装,建议通过以下方式获取:
- Windows用户:直接从Node.js官网下载LTS版本安装包
- Mac用户:推荐使用Homebrew安装(
brew install node) - Linux用户:使用系统包管理器安装(如Ubuntu的
apt install nodejs npm)
注意:Vite需要Node.js 14.18+或16+版本,低于此版本会导致项目创建失败
1.2 包管理器选择
Vue3.0项目支持多种包管理器,可以根据团队习惯选择:
- npm:Node.js自带,无需额外安装
- yarn:需要全局安装(
npm install -g yarn) - pnpm:更高效的包管理工具(
npm install -g pnpm)
我个人推荐使用pnpm,因为它具有以下优势:
- 磁盘空间利用率高(共享依赖)
- 安装速度快
- 严格的依赖管理
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 使用create-vue创建项目
Vue官方现在推荐使用create-vue工具来初始化Vue3项目,这是基于Vite的下一代脚手架工具。
2.1 初始化项目
执行以下命令创建新项目:
bash复制npm init vue@latest
这个命令会自动安装create-vue并启动项目创建向导。你会看到如下交互界面:
code复制✔ Project name: … <your-project-name>
✔ Add TypeScript? … No / Yes
✔ Add JSX Support? … No / Yes
✔ Add Vue Router for Single Page Application development? … No / Yes
✔ Add Pinia for state management? … No / Yes
✔ Add Vitest for Unit Testing? … No / Yes
✔ Add Cypress for both Unit and End-to-End testing? … No / Yes
✔ Add ESLint for code quality? … No / Yes
✔ Add Prettier for code formatting? … No / Yes
2.2 配置选项详解
每个选项的具体含义如下:
- TypeScript支持:是否启用TypeScript(推荐选择Yes)
- JSX支持:是否支持JSX语法(按需选择)
- Vue Router:是否添加路由支持(SPA项目必选)
- Pinia:是否添加状态管理(替代Vuex的新方案)
- Vitest:单元测试工具(基于Vite)
- Cypress:端到端测试工具
- ESLint:代码质量检查
- Prettier:代码格式化工具
2.3 项目结构解析
创建完成后的项目目录结构如下:
code复制my-vue-project/
├── public/ # 静态资源
├── src/
│ ├── assets/ # 静态资源
│ ├── components/ # 组件
│ ├── router/ # 路由(如果选择了router)
│ ├── stores/ # Pinia store(如果选择了Pinia)
│ ├── views/ # 页面级组件
│ ├── App.vue # 根组件
│ └── main.js # 入口文件
├── .eslintrc.cjs # ESLint配置
├── .prettierrc.json # Prettier配置
├── index.html # 主HTML文件
├── package.json # 项目配置
├── vite.config.js # Vite配置
└── README.md # 项目说明
3. 使用Vue CLI创建项目(传统方式)
虽然官方推荐使用Vite,但Vue CLI仍然支持Vue3项目创建,适合需要webpack配置的复杂项目。
3.1 安装Vue CLI
全局安装Vue CLI(如果尚未安装):
bash复制npm install -g @vue/cli
3.2 创建项目
执行创建命令:
bash复制vue create my-project
在提示中选择"Manually select features",然后勾选以下选项:
- Babel
- TypeScript(可选)
- Router
- Vuex
- CSS Pre-processors
- Linter / Formatter
确保选择Vue3版本:
code复制? Choose a version of Vue.js that you want to start the project with
3.x
2.x
3.3 项目结构对比
Vue CLI创建的项目结构与Vite版本主要区别在于:
- 使用webpack而非Vite
- 配置文件为
vue.config.js而非vite.config.js - 构建输出目录为
dist而非build
4. 项目初始配置
无论使用哪种方式创建项目,都需要进行一些基础配置。
4.1 开发服务器启动
进入项目目录并启动开发服务器:
bash复制cd my-vue-project
npm install
npm run dev
Vite项目默认会在http://localhost:3000启动,而Vue CLI项目通常在http://localhost:8080。
4.2 常用配置调整
4.2.1 Vite配置修改
打开vite.config.js,可以修改以下常用配置:
javascript复制export default defineConfig({
server: {
port: 3000, // 修改端口
open: true // 自动打开浏览器
},
resolve: {
alias: {
'@': path.resolve(__dirname, './src') // 路径别名
}
}
})
4.2.2 Vue CLI配置修改
对于Vue CLI项目,修改vue.config.js:
javascript复制module.exports = {
devServer: {
port: 8080
},
configureWebpack: {
resolve: {
alias: {
'@': path.resolve(__dirname, 'src')
}
}
}
}
4.3 代码规范配置
如果创建时选择了ESLint和Prettier,建议进行以下调整:
- 修改
.eslintrc.cjs添加自定义规则 - 在
.prettierrc.json中设置团队统一的代码风格 - 配置编辑器自动格式化(VSCode需要安装ESLint和Prettier插件)
5. 项目创建常见问题解决
在实际创建Vue3项目时,可能会遇到以下典型问题:
5.1 网络问题导致依赖安装失败
解决方案:
- 使用国内镜像源:
bash复制npm config set registry https://registry.npmmirror.com - 或者使用cnpm:
bash复制
npm install -g cnpm --registry=https://registry.npmmirror.com cnpm install
5.2 版本兼容性问题
症状:创建过程中出现"incompatible peer dependency"警告
解决方法:
- 更新npm到最新版本:
bash复制
npm install -g npm@latest - 使用
--legacy-peer-deps参数:bash复制
npm install --legacy-peer-deps
5.3 Git Bash交互问题
在Windows的Git Bash中,交互式提示可能无法正常工作。
解决方案:
- 使用
winpty前缀:bash复制
winpty vue.cmd create my-project - 或者添加别名到
.bashrc:bash复制alias vue='winpty vue.cmd'
6. 项目创建后的优化建议
6.1 添加必要的开发依赖
根据项目需要安装常用工具库:
bash复制npm install -D @vitejs/plugin-vue-components # 组件自动导入
npm install axios # HTTP客户端
npm install dayjs # 日期处理
npm install lodash-es # 工具库
6.2 配置路径别名
在vite.config.js中添加更多路径别名:
javascript复制resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
'@components': path.resolve(__dirname, './src/components'),
'@views': path.resolve(__dirname, './src/views')
}
}
6.3 设置环境变量
创建.env.development和.env.production文件:
code复制# .env.development
VITE_API_BASE=http://localhost:3000/api
# .env.production
VITE_API_BASE=/api
在代码中通过import.meta.env.VITE_API_BASE访问
7. 不同创建方式的对比与选择
7.1 Vite vs Vue CLI
| 特性 | Vite (create-vue) | Vue CLI |
|---|---|---|
| 构建工具 | Vite | Webpack |
| 启动速度 | 极快(原生ESM) | 较慢 |
| 热更新 | 快速 | 一般 |
| 配置复杂度 | 简单 | 复杂 |
| 插件生态 | 新兴但增长快 | 成熟 |
| 适合场景 | 新项目/中小型项目 | 大型复杂项目 |
7.2 选择建议
- 新项目:优先选择Vite方案,享受更快的开发体验
- 需要webpack特定功能:选择Vue CLI
- 需要兼容旧浏览器:Vue CLI的webpack配置更成熟
- 微前端子应用:根据主应用要求选择
我在实际项目中的经验是:除非有特殊需求,否则Vite方案已经能满足大多数场景,特别是Vue3的新项目。它的开发体验提升非常明显,热更新几乎瞬间完成,大大提高了开发效率。
