Vue学习之Vue 项目结构详解
Vue 项目核心配置与工具全解
你在开发 Vue 项目时,vue.config.js 是最核心的自定义配置文件,它用来覆盖 / 扩展 Vue CLI 的默认配置,不用手动配置 webpack 就能实现代理、打包优化、路径别名等功能。
我会把项目目录、核心配置文件、常用工具一次性讲清楚,新手也能直接用。
一、标准 Vue 项目目录结构(Vue CLI/Vite 通用)
这是 Vue 项目最规范的目录,你新建项目后默认就是这个结构:
your-project/├── node_modules/ # 项目依赖包(自动生成,不用改)├── public/ # 静态资源(不打包,直接复制到dist)│ └── index.html # 入口HTML模板├── src/ # 核心开发目录(90%工作都在这)│ ├── assets/ # 静态资源(图片、样式,会被webpack打包)│ ├── components/ # 公共组件│ ├── views/ # 页面组件│ ├── router/ # 路由配置(vue-router)│ ├── store/ # 状态管理(vuex/pinia)│ ├── utils/ # 工具函数│ ├── api/ # 接口请求│ ├── App.vue # 根组件│ └── main.js # 项目入口文件├── .env.development # 开发环境变量├── .env.production # 生产环境变量├── vue.config.js # ✅ 核心配置文件(重点)├── package.json # 项目依赖、脚本命令└── README.md # 项目说明二、核心配置:vue.config.js 详解
这是必须掌握的配置文件,创建项目后默认没有,需要手动在根目录新建。
它基于 webpack 封装,所有配置最终都会合并到 Vue CLI 内置的 webpack 配置中,不用你手写复杂的 webpack 配置。
1. 最常用配置(直接复制可用)
javascript
运行
// vue.config.jsconst { defineConfig } = require('@vue/cli-service')module.exports = defineConfig({ // 1. 基础路径 publicPath: './', // 打包后相对路径(解决白屏问题) // 2. 打包输出目录 outputDir: 'dist', // 3. 静态资源目录 assetsDir: 'static', // 4. 关闭eslint语法检查(新手推荐) lintOnSave: false, // 5. 开发服务器配置 devServer: { open: true, // 自动打开浏览器 port: 8080, // 端口号 https: false, // 是否开启https hot: true, // 热更新 // ✅ 跨域代理(最常用) proxy: { '/api': { target: 'http://localhost:3000', // 后端接口地址 changeOrigin: true, // 允许跨域 pathRewrite: { '^/api': '' // 重写路径,去掉/api } } } }, // 6. 配置路径别名 configureWebpack: { resolve: { alias: { '@': require('path').resolve(__dirname, 'src'), // @ 代表 src 目录 '@assets': require('path').resolve(__dirname, 'src/assets') } } }, // 7. 生产环境关闭sourceMap(不暴露源码) productionSourceMap: false, // 8. CSS 预处理配置(如less/sass) css: { loaderOptions: { less: { lessOptions: { javascriptEnabled: true } } } }})2. 核心配置作用说明
配置项 | 作用
| 常用场景 |
publicPath | 打包后资源访问路径 | 部署到服务器子目录时修改 |
devServer.proxy | 开发环境跨域代理 | 本地调用后端接口,解决跨域 |
alias | 路径别名 | 用@/components代替长路径 |
productionSourceMap | 关闭源码映射 | 上线后保护代码,减小包体积 |
lintOnSave | 关闭 eslint 校验 | 新手避免代码格式报错 |
三、其他必备配置文件
1. .env 环境变量文件(区分开发 / 生产)
Vue 支持根据环境自动加载配置,根目录新建:
- .env.development 开发环境(npm run serve 时加载)
- .env.production 生产环境(npm run build 时加载)
用法:
# .env.developmentVUE_APP_BASE_API = '/api'VUE_APP_TITLE = '开发环境'# .env.productionVUE_APP_BASE_API = 'https://api.xxx.com'VUE_APP_TITLE = '生产环境'项目中使用:
js
console.log(process.env.VUE_APP_BASE_API)注意:变量名必须以 VUE_APP_ 开头。
2. package.json 核心脚本
json
{ "scripts": { "serve": "vue-cli-service serve", // 启动开发服务器 "build": "vue-cli-service build", // 打包生产环境 "lint": "vue-cli-service lint" // 代码检查 }}四、Vue 项目常用工具 / 插件
1. 必备开发工具
- Vue Devtools(浏览器插件)
- 调试 Vue 组件、vuex/pinia、路由的神器,必须安装。
- VS Code 插件 Volar(Vue3 代码提示、高亮) ESLint(代码规范检查) Prettier(代码格式化)
2. 核心依赖包
- vue-router:路由管理
- pinia/vuex:状态管理
- axios:网络请求
- element-plus/ant-design-vue:UI 组件库
- sass/less:CSS 预处理器
五、新手必看:3 个高频实用配置
1. 解决打包后页面白屏
js
// vue.config.jsmodule.exports = { publicPath: './' // 关键}2. 配置跨域代理(本地联调必备)
js
devServer: { proxy: { '/api': { target: 'http://localhost:3000', changeOrigin: true } }}3. 使用路径别名简化导入
js
// 配置后import Home from '@/views/Home.vue'import logo from '@assets/logo.png'总结
- vue.config.js 是 Vue 项目最核心配置文件,用来自定义 webpack、代理、路径别名等;
- 项目目录遵循标准结构,src 是开发核心,public 放不打包的静态资源;
- .env 文件用来区分开发 / 生产环境变量,配合跨域、接口地址使用;
- 新手优先掌握:跨域代理、路径别名、打包配置 这 3 个功能。
文章版权声明:除非注明,否则均为边学边练网络文章,版权归原作者所有
