在vue脚手架3.0以后项目目录中没有 vue.config.js 文件,需要手动创建配置,可以对于一些基础配置和一些扩展配置进行配置。
创建vue.config.js
位置:项目根目录
配置详情
配置选项
publicPath
Type: string
Default:'/'
部署应用包时的基本 URL, 用法和 webpack 本身的 output.publicPath 一致。
这个值应该设置为空字符串 ('') 或是相对路径 ('./'),这样所有的资源都会被链接为相对路径,这样打出来的包可以被部署在任意路径。
outputDir
Type:string
Default:'dist'
打包后的文件目录,当运行 vue-cli-service build 时生成的生产环境构建文件的目录。注意目标目录在构建之前会被清除 (构建时传入 --no-clean 可关闭该行为)。
assetsDir
Type:string
Default:''
放置生成的静态资源 (js、css、img、fonts) 的目录。笔者习惯设置为 “static”
filenameHashing
Type: boolean
Default: true
默认情况下,生成的静态资源在它们的文件名中包含了 hash 以便更好的控制缓存。然而,这也要求 index 的 HTML 是被 Vue CLI 自动生成的。如果你无法使用 Vue CLI 生成的 index HTML,你可以通过将这个选项设为 false 来关闭文件名哈希。
lintOnSave
Type: boolean | 'error'
Default: true
是否在保存的时候使用 `eslint-loader` 进行检查。 有效的值:`ture` | `false` | `"error"` 当设置为 `"error"` 时,检查出的错误会触发编译失败。
productionSourceMap
Type: boolean
Default: true
如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
devServer
Type: Object
所有 webpack-dev-server 的选项都支持。注意:有些值像 host、port 和 https 可能会被命令行参数覆写。有些值像 publicPath 和 historyApiFallback 不应该被修改,因为它们需要和开发服务器的 publicPath 同步以保障正常的工作。
devServer.proxy
Type: string | Object
跨域配置,其属性有
target 请求的地址 Type: string
changeOrigin 是否跨域 Type: boolean
pathRewrite 路径重写规则 Type: object
module.exports = {
publicPath: './',
outputDir:'dist',
assetsDir:'static',
filenameHashing:false,
lintOnSave:true,
productionSourceMap:false,
devServer: {
proxy:{
'/api': {
target:'http:localhost:8080', // 请求地址
changeOrigin: true, // 是否跨域
ws:true, // websocket配置
pathRewrite: {
'^/api': ''
}
}
}
}
}