vue.config.js中的devServer使用
vue.config.js中的devServer
按照我的经历,我认为学习vue一个障碍和困难,是不容易了解它整个项目结构。*.vue本身的内容较容易掌握,但更大的方面,比如它整个项目的运行机制,路由,配置,就比较讳莫如深了。
资料很少,说的人也是不知从哪里抄的,没有说清楚。
对于像我这样普通的开发者来说,让我不用啥框架,直接用空白项目捣鼓出一个看得过去的前端,我会感到困难重重,这也不知,那也不懂,无从下手。
这其中,就包括这个vue.config.js。
vue.config.js,就是vue项目的配置文件咯。一度传闻vue3创建项目时,默认是不提供这个文件,要用的话只能自己手动创建。
但一旦创建,vue又会自动地优先使用其中的配置。这给人一种很扯的感觉。
不过,不久前我创建vue3项目,里面是有vue.config.js的。其实,vue也没有什么好神秘的,它就是一个巨大的语法糖,或者解释器。
虽然它创建了这样那样的书写结构,但最终是要编译成原始的js。
你看vue3的语法,我感觉并不比vue2更高明,反而有种累赘和啰嗦的感觉,估计VUE4还要来个大改,折腾不止,至死方休。
说回vue.config.js
vue.config.js里面,同样有许多神秘的咒语。
不过后来逐渐有了一些发现。
下面这段代码就摘自我们之前一个vue项目的vue.config.js。
module.exports = { devServer: { port: 8090, // 端口号,如果端口号被占用,会自动加1 host: '0.0.0.0',// 主机名, 127.0.0.1, 真机 0.0.0.0 https: false, //协议 open: false, //启动服务时自动打开浏览器访问 disableHostCheck: true, proxy: { '/api':{ target:PROXY_API_BASE_URL, pathRewrite:{ "^/api":"" } }, '/webapps':{ target:PROXY_BASE_URL, pathRewrite:{ "^/webapps":"/webapps" } }, '/javapubzy':{ target:PROXY_BASE_URL, pathRewrite:{ "^/javapubzy":"/javapubzy" } }, '/arcgis':{ target:PROXY_BASE_URL, pathRewrite:{ "^/arcgis":"/arcgis" } } } }, 。。。 }
代码中,devServer算是系统的保留字,用来配置我们的开发环境,从名字也能看出来。
所以,别看它里面写了这么多,又是端口,又是代理,让人一看就头大,其实只是用于我们本机开发和调试。
一旦发布和打包,就与它无关了。
我们将发布包部署到nginx,端口和转发,就遵循nginx的设置:
http { include mime.types; default_type application/octet-stream; sendfile on; server { listen 8081; server_name 192.168.10.8; location / { root E:/code/web/dist; index index.html; try_files $uri $uri/ /index.html; } location /api/ { proxy_pass http://192.168.10.9:8090/;#必须斜杠/结尾 proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } }
咦,孰为汝多知乎。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
vue elementUI之this.$confirm的使用方式
这篇文章主要介绍了vue elementUI之this.$confirm的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-08-08
最新评论