Vue的config.js文件配置

3,582 阅读3分钟

前言

  • 根据官方文档,对自己用到过的配置稍作了些整理.

publicPath

  • 部署生产环境和开发环境下的URL。
  • 官方解释:默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上,例如 https://www.my-app.com/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.my-app.com/my-app/,则设置 publicPath 为 /my-app/
  • 其实就是设置自己服务器部署的路径,如果不是根路径,只需要写子路径的路由即可
  • 这个配置也可以用来设置打包项目时,打包后的项目里面的引用路径(相对路径或绝对路径),如果是空字符串''或者/就是相对路径,这样打包之后,你的项目中的引用路径一般不需要再去更改,也方便打包后的发送、转移等
  • 有两种情况不适合用相对路径的方式打包:
    • 当使用基于 HTML5 history.pushState 的路由时
    • 当使用pages选项构建多页面应用时。
    //这个值在开发环境下同样生效。如果你想把开发服务器架设在根路径,你可以使用一个条件式的值:
     publicPath: process.env.NODE_ENV === 'production'? './' : '/'

outputDir

  • 进行项目打包时(npm run build或者vue-cli-service build)生成的文件的总文件夹的名称
  • 如果不进行配置,默认你的打包后的文件夹名称为dist
  • 如果你使用webpack搭建的项目,如果要修改输出文件夹的名称,请修改outputDir,而不是webpack中的output的path
  • outputDir:'my-demo'

assetsDir

  • 放置打包后的静态资源(js、css、图片等文件)的文件夹(位于outputDir文件夹之中)
  • assetsDir:'static'

indexPath

  • 指定生成的html文件的输出路径 (配置之后,改变系统默认的index.html的文件名)
  • indexPath:'mycode.html'

filenameHashing

  • 默认情况下,生成的静态资源在它们的文件名中包含了 hash 以便更好的控制缓存。你可以通过将这个选项设为 false 来关闭文件名哈希。(false的时候就是让原来的文件名不改变)

lintOnSave

  • 是否用eslint lintOnSave: true/false,
  • 启用/取消eslint

productionSourceMap

  • 针对map文件,map文件的作用:打包之后的项目,代码都经过了压缩加密,这时如果报错,无法准确得知错误在哪里产生,有了map文件,就可以精准定位到是哪里出错
  • 如果打包后发现map文件体积过大,导致整个项目文件体积过大,就可以设置不输出map文件
  • productionSourceMap: false

devServer

  • 它支持webpack-dev-server的所有选项
    host:'localhost',//服务器
    port:8080,//端口号
    https:false,// 是否使用https
    open:false //是否自动启动浏览器
    proxy:'http://localhost:8080'//配置产生跨域时的代理服务器,服务器会将任何未知请求 (没有匹配到静态文件的请求) 代理到这里。
    //如果要配置多个代理
    proxy:{
        '/api':{
            target:'url',//要访问的接口的域名
            ws:true,//是否启用websockets
            changeOrigin:true,//开启跨域代理,在本地会创建一个虚拟服务器,然后发送请求的数据,并接受返回的数据,这样就不会产生跨域问题
            pathRewrite:{
                '^/api':''//理解为用'/api'代替target中的url,比如在项目中使用www.baidu.com/tieba,可以直接写为/api/tieba
            },
            '/foo':{
                //配置另外一个代理,上面的代理使用的是'/api',这个是'/foo',可以设置多个代理
            }
        }
    }

结束

  • 使用过的就这些了,虽然官方文档给出的配置非常多,但目前并没有用到过。