我们项目完成后,需要打包,对于之前的webpack,vue-cli3讲webpack的基础配置全部都内嵌了,统一使用vue.config.js,当然我们还可以自己配置,比如部署环境,代理,路径等等。
publicPath:
部署生产环境和开发环境的URL,默认情况下,vuecli会假设你的应用是部署在一个域名的根路径上。比如域名:https://baidu.com/,会默认往后拼接地址,如果我们需要访问https://baidu.com/下的static文件夹,(https://baidu.com/static)我们就要在配置根路径(publicPath:‘static/’)
注意:'./'代表的是相对路径,'/'代表绝对路径,一般使用'./'
实际开发中,我们一般使用一个判断
publicPath:process.env.NODE_ENV==="production"?"./":'/'
扒一扒:
process对象是一个全局变量,记录了有关node.js的一切信息,能够点env,那env就是process的一个属性,这个属性记录了用户环境信息的对象,而NODE_ENV并不是env下面的属性,这个是在serve或者build阶段,给env添加的一个属性,一般在serve时是开发阶段,会被设置成develop,在build时是生产阶段,会被设置成production,以此来优化打包配置。
outputDir:
打包时生成文件的文件名,目录名称,就像是我们每次打包完,都会生成一个dist,因为这个属性的默认配置就是dist
assetsDir:
打包生成的静态资源文件的文件名,在dist里面,放置css,js,img的文件,默认配置是static
lintOnSave:
是否开启eslint的保存检测,一般可以设置当开发环境时检测。
devServer:
webpack-dev-server的相关配置,只要是做代理,改端口等
target:需要代理的服务器地址,写上就行,这样在发送后端请求的时候,就会在前面自动拼接上这个服务器地址,这样就可以请求到后端了。
changeOrigin:true。默认为false,设置为true,发送请求头的host会改为target。
proxy:做代理的地方,注意这个地方只会在serve的时候生效,也就是开发环境生效,如果是build,那proxy里面都不会生效了。自动忽略
host:‘0,0,0,0’,默认是localhost,写成四个0,可以访问外部服务器地址
port:本机的端口设置,默认就是8080