Vue-cli项目部署到Nginx服务器的方法


Posted in Javascript onNovember 01, 2019

0. Nginx使用

以windows版为例,下载niginx压缩包并解压到任意目录,双击nginx.exe,在浏览器中访问http://localhost,如果出现Welcome to nginx!页面则说明成功。

nginx常用命令如下:

nginx -h  # 打开帮助
nginx -t  # 检查配置文件是否正确

# 以下命令均要先启动nginx才能执行
nginx -s stop # 停止
nginx -s quit # 退出
nginx -s reopen # 重新启动(注意不会重新读取配置文件)
nginx -s reload # 重新读取配置文件

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
  }
 })
 // 在命令行使用 vue inspect > o.js 可以检查修改后的webpack配置文件
 }
}

在vue项目根目录中使用命令npm run build创建输出文件,将dist文件夹下的所有内容复制到nginx目录下的webapp/内(没有的话自行创建)。

修改nginx目录中的conf/nginx.conf文件,在 http -> server 节点中,修改location节的内容:

location / {
 root webapp;
 index index.html index.htm;
}

在nginx根目录使用命令nginx -s reload即可在浏览器中通过http://localhost访问项目。

2. 多个项目部署到Nginx

有时一个Nginx中放了好几个子项目,需要将不同的项目通过不同的路径来访问。

对于项目1而言,修改vue.config.js文件的publicPath:

publicPath: '/vue1/'

对于项目2而言,修改vue.config.js文件的publicPath:

publicPath: '/vue2/'

分别在vue项目根目录中使用命令npm run build创建输出文件,将dist文件夹下的所有内容复制到nginx目录下的webapp/vue1和webapp/vue2内(没有的话自行创建)。

修改nginx目录中的conf/nginx.conf文件,在 http -> server 节点中,修改location节的内容:

location /vue1 {
 root webapp;
 index index.html index.htm;
}

location /vue2 {
 root webapp;
 index index.html index.htm;
}

在nginx根目录使用命令nginx -s reload即可在浏览器中通过http://localhost/vue1、http://localhost/vue2访问项目1、项目2。

3. 端口代理

当前后端项目分别部署在同一台机器上时,由于无法使用相同的端口,故后端一般会将端口号设置成不同的值(例如8080),但是当前端向后端请求资源时还要加上端口号,未免显得麻烦,故利用可以nginx将前端的指定路径代理到后端的8080端口上。

在conf/nginx.conf文件中增加location:

location /api {
 proxy_pass http://localhost:8080/api;
}

这样,当前端访问/api路径时,实际上访问的是http://localhost:8080/api路径。

总结

以上所述是小编给大家介绍的Vue-cli项目部署到Nginx服务器的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
基于Jquery实现表格动态分页实现代码
Jun 21 Javascript
qTip2 精致的基于jQuery提示信息插件
Feb 17 Javascript
jquery实现marquee效果(文字或者图片的水平垂直滚动)
Jan 07 Javascript
jQuery左右滚动支持图片放大缩略图图片轮播代码分享
Aug 26 Javascript
为何JS操作的href都是javascript:void(0);呢
Nov 12 Javascript
javascript解决小数的加减乘除精度丢失的方案
May 31 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
May 02 Javascript
基于jQuery封装的分页组件
Jun 26 jQuery
JS监控关闭浏览器操作的实例详解
Sep 12 Javascript
Vue中如何实现proxy代理
Apr 20 Javascript
手写Vue弹窗Modal的实现代码
Sep 11 Javascript
node.js基础知识汇总
Aug 25 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
Nov 01 #Javascript
浅析js实现网页截图的两种方式
Nov 01 #Javascript
javascript使用链接跨域下载图片
Nov 01 #Javascript
async/await让异步操作同步执行的方法详解
Nov 01 #Javascript
浅谈Three.js截图并下载的大坑
Nov 01 #Javascript
vue中使用vee-validator完成表单校验方案
Nov 01 #Javascript
解决vue的过渡动画无法正常实现问题
Oct 31 #Javascript
You might like
php购物网站支付paypal使用方法
2010/11/28 PHP
thinkPHP的Html模板标签使用方法
2012/11/13 PHP
Web程序工作原理详解
2014/12/25 PHP
mac系统下为 php 添加 pcntl 扩展
2016/08/28 PHP
Laravel关联模型中过滤结果为空的结果集(has和with区别)
2018/10/18 PHP
PHP实现简单注册登录系统
2020/12/28 PHP
JavaScript Sort 表格排序
2009/10/31 Javascript
菜鸟javascript基础资料整理2
2010/12/06 Javascript
Js中setTimeout()和setInterval() 何时被调用执行的用法
2013/04/12 Javascript
JS多物体实现缓冲运动效果示例
2016/12/20 Javascript
Nodejs 发送Post请求功能(发短信验证码例子)
2017/02/09 NodeJs
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
js实现微信/QQ直接跳转到支付宝APP打开口令领红包功能
2018/01/09 Javascript
vue addRoutes实现动态权限路由菜单的示例
2018/05/15 Javascript
JS的Ajax与后端交互数据的实例
2018/08/08 Javascript
Vue 中 a标签上href无法跳转的解决方式
2019/11/12 Javascript
关于vue.js中实现方法内某些代码延时执行
2019/11/14 Javascript
javascript 函数的暂停和恢复实例详解
2020/04/25 Javascript
python通过线程实现定时器timer的方法
2015/03/16 Python
浅要分析Python程序与C程序的结合使用
2015/04/07 Python
python实现的简单RPG游戏流程实例
2015/06/28 Python
对python的unittest架构公共参数token提取方法详解
2018/12/17 Python
Python实现截取PDF文件中的几页代码实例
2019/03/11 Python
wxPython实现文本框基础组件
2019/11/18 Python
阿迪达斯意大利在线商店:adidas意大利
2016/09/19 全球购物
Larsson & Jennings官网:现代瑞士钟表匠
2018/03/20 全球购物
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
国际金融专业大学生职业生涯规划书
2013/12/28 职场文书
师德师风演讲稿
2014/05/05 职场文书
个人典型事迹材料
2014/12/30 职场文书
大班上学期个人总结
2015/02/13 职场文书
2015年小学体育工作总结
2015/05/22 职场文书
优质护理服务心得体会
2016/01/22 职场文书
如何用Laravel包含你自己的帮助函数
2021/05/27 PHP
Python实现视频中添加音频工具详解
2021/12/06 Python
微信小程序纯CSS实现无限弹幕滚动效果
2022/09/23 HTML / CSS