vue.config.js如何写入
时间: 2025-07-04 20:19:17 浏览: 10
在 Vue 项目中,`vue.config.js` 是一个可选的配置文件,用于对项目的构建和开发环境进行自定义配置。如果该文件存在于项目根目录下,则会被 `@vue/cli-service` 自动加载并应用其中的设置[^1]。
### 配置 publicPath
`publicPath` 是 `vue.config.js` 中一个常用配置项,用于指定静态资源(如 JS、CSS、图片等)在运行时的公共路径。例如:
```javascript
module.exports = {
publicPath: process.env.NODE_ENV === 'production' ? '/my-app/' : '/'
}
```
该配置适用于部署到非根路径的情况,在生产环境中可以确保资源正确加载[^1]。
### 配置 PostCSS 实现移动端适配
为了实现移动端适配,可以在 `vue.config.js` 中结合 `postcss.config.js` 使用插件 `postcss-px-to-viewport` 进行 px 到视窗单位的自动转换。具体配置如下:
```javascript
// vue.config.js
module.exports = {
css: {
loaderOptions: {
postcss: {
plugins: [
require('autoprefixer')(),
require('postcss-px-to-viewport')({
viewportWidth: 375, // 设计稿宽度,通常为750
unitPrecision: 3, // px转换单位的小数位数
viewportUnit: 'vw', // 转换后的单位
selectorBlackList: ['.ignore', '.hairlines'], // 忽略转换的类名
minPixelValue: 1, // 小于等于1px不转换
mediaQuery: false // 是否在媒体查询中转换px
}),
require('postcss-viewport-units')({
filterRule: rule => rule.nodes.findIndex(i => i.prop === 'content') === -1
}),
require('cssnano')({
preset: 'advanced',
autoprefixer: false,
'postcss-zindex': false
})
]
}
}
}
}
```
上述配置将 px 单位自动转换为视窗单位(如 vw),从而实现响应式布局,适用于不同屏幕尺寸的设备[^3]。
### 开发服务器代理配置
在前后端分离开发中,常常需要解决跨域问题。可以通过配置 `devServer.proxy` 来实现请求代理:
```javascript
module.exports = {
devServer: {
proxy: {
'/api': {
target: 'http://localhost:3000', // 后端服务地址
changeOrigin: true, // 是否改变请求源
pathRewrite: { '^/api': '' } // 请求路径重写
}
}
}
}
```
此配置允许前端开发服务器将 `/api` 前缀的请求代理到后端服务,避免跨域限制[^1]。
### 配置别名与扩展名解析
为了简化模块导入路径,可以使用 `resolve.alias` 和 `resolve.extensions`:
```javascript
const path = require('path')
module.exports = {
configureWebpack: {
resolve: {
alias: {
'@': path.resolve(__dirname, 'src')
},
extensions: ['.js', '.vue', '.json']
}
}
}
```
该配置允许通过 `@` 符号快速引用 `src` 目录下的模块,并支持省略 `.js`、`.vue` 等扩展名。
---
阅读全文
相关推荐


















