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 相关文章推荐
asp批量修改记录的代码
Jun 25 Javascript
IE 下的只读 innerHTML
Aug 21 Javascript
js或css文件后面跟参数的原因说明
Jan 09 Javascript
jquery按回车提交数据的代码示例
Nov 05 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
Jan 25 Javascript
JavaScript登录验证码的实现
Oct 27 Javascript
微信小程序 devtool隐藏的秘密
Jan 21 Javascript
Node.js 实现简单的接口服务器的实例代码
May 23 Javascript
微信小程序非跳转式组件授权登录的方法示例
May 22 Javascript
ES2020 已定稿,真实场景案例分析
May 25 Javascript
vue实现图片上传功能
May 28 Javascript
基于vue实现简易打地鼠游戏
Aug 21 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处理整数函数的详解
2013/06/09 PHP
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
简单实用的网站PHP缓存类实例
2014/07/18 PHP
php文档工具PHP Documentor安装与使用方法
2016/01/25 PHP
js的写法基础分析
2011/01/17 Javascript
基于jQuery的可用于选项卡及幻灯的切换插件
2011/03/28 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
js 自动播放的实例代码
2013/11/19 Javascript
JS实现自定义简单网页软键盘效果代码
2015/11/05 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
Bootstrap风格的zTree右键菜单
2017/02/17 Javascript
微信小程序本地缓存数据增删改查实例详解
2017/05/24 Javascript
Nodejs进阶之服务端字符编解码和乱码处理
2017/09/04 NodeJs
浅谈NodeJs之数据库异常处理
2017/10/25 NodeJs
vue中导出Excel表格的实现代码
2018/10/18 Javascript
JavaScript基础之静态方法和实例方法分析
2018/12/26 Javascript
详解VUE调用本地json的使用方法
2019/05/15 Javascript
JS前端知识点offset,scroll,client,冒泡,事件对象的应用整理总结
2019/06/27 Javascript
vue微信分享插件使用方法详解
2020/02/18 Javascript
Python实现的计数排序算法示例
2017/11/29 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
DataFrame 将某列数据转为数组的方法
2018/04/13 Python
python交互界面的退出方法
2019/02/16 Python
使用pyhon绘图比较两个手机屏幕大小(实例代码)
2020/01/03 Python
使用python批量转换文件编码为UTF-8的实现
2020/04/03 Python
Python新建项目自动添加介绍和utf-8编码的方法
2020/12/26 Python
美国领先的汽车轮胎和轮毂供应商:TireBuyer
2016/07/21 全球购物
英国领先的互联网葡萄酒礼品商:Vintage Wine & Port
2019/05/24 全球购物
荷兰音乐会和音乐剧门票订购网站:Topticketshop
2019/08/27 全球购物
九年级物理教学反思
2014/01/29 职场文书
物业品质提升方案
2014/06/08 职场文书
党的群众路线教育实践活动个人批评与自我批评
2014/10/16 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python
app场景下uniapp的扫码记录
2022/07/23 Java/Android