Vue-cli项目部署到Nginx服务器的方法
0.Nginx使用
以windows版为例,下载niginx压缩包并解压到任意目录,双击nginx.exe,在浏览器中访问http://localhost,如果出现Welcometonginx!页面则说明成功。
nginx常用命令如下:
nginx-h#打开帮助 nginx-t#检查配置文件是否正确 #以下命令均要先启动nginx才能执行 nginx-sstop#停止 nginx-squit#退出 nginx-sreopen#重新启动(注意不会重新读取配置文件) nginx-sreload#重新读取配置文件
1.部署项目到Nginx根目录
对于vue-cli创建的项目,修改vue.config.js文件(位于项目根目录下,没有的话自行创建):
module.exports={ //开发环境中使用的端口 devServer:{ port:8001 }, //取消生成map文件(map文件可以准确的输出是哪一行哪一列有错) productionSourceMap:false, //开发环境和部署环境的路径 publicPath:process.env.NODE_ENV==='production' ?'/' :'/my/', configureWebpack:(config)=>{ //增加iview-loader config.module.rules[0].use.push({ loader:'iview-loader', options:{ prefix:false } }) //在命令行使用vueinspect>o.js可以检查修改后的webpack配置文件 } }
在vue项目根目录中使用命令npmrunbuild创建输出文件,将dist文件夹下的所有内容复制到nginx目录下的webapp/内(没有的话自行创建)。
修改nginx目录中的conf/nginx.conf文件,在http->server节点中,修改location节的内容:
location/{ rootwebapp; indexindex.htmlindex.htm; }
在nginx根目录使用命令nginx-sreload即可在浏览器中通过http://localhost访问项目。
2.多个项目部署到Nginx
有时一个Nginx中放了好几个子项目,需要将不同的项目通过不同的路径来访问。
对于项目1而言,修改vue.config.js文件的publicPath:
publicPath:'/vue1/'
对于项目2而言,修改vue.config.js文件的publicPath:
publicPath:'/vue2/'
分别在vue项目根目录中使用命令npmrunbuild创建输出文件,将dist文件夹下的所有内容复制到nginx目录下的webapp/vue1和webapp/vue2内(没有的话自行创建)。
修改nginx目录中的conf/nginx.conf文件,在http->server节点中,修改location节的内容:
location/vue1{ rootwebapp; indexindex.htmlindex.htm; } location/vue2{ rootwebapp; indexindex.htmlindex.htm; }
在nginx根目录使用命令nginx-sreload即可在浏览器中通过http://localhost/vue1、http://localhost/vue2访问项目1、项目2。
3.端口代理
当前后端项目分别部署在同一台机器上时,由于无法使用相同的端口,故后端一般会将端口号设置成不同的值(例如8080),但是当前端向后端请求资源时还要加上端口号,未免显得麻烦,故利用可以nginx将前端的指定路径代理到后端的8080端口上。
在conf/nginx.conf文件中增加location:
location/api{ proxy_passhttp://localhost:8080/api; }
这样,当前端访问/api路径时,实际上访问的是http://localhost:8080/api路径。
总结
以上所述是小编给大家介绍的Vue-cli项目部署到Nginx服务器的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。