Vue项目服务器部署之子目录部署方法


Posted in Javascript onMay 12, 2019

Vue项目尤其是基于.vue单文件格式的项目部署,在build成js文件后发布到服务器上,一般都是通过nginx反向代理到跟文件目录后直接访问,然而由于很多时候没办法使用更多的子域名(比如微信公众号只能有一个域名),所以急需将服务器部署到子目录。本经验以一次成功的系统部署为例,讲解子目录方式部署Vue工程。

首先介绍一下Poi,我们的项目没有使用webPack进行前端工程项目管理,使用了Poi进行管理:Develop web apps with no build configuration until you need.也就是说Poi对webpack进行了封装,0配置开发Web应用。可以使用poi.config.js文件配置poi的配置,也可以直接在package.json中进行配置。

Vue项目服务器部署之子目录部署方法

执行npm run dev相当于执行poi,执行npm run dist相当于执行poi build.执行poi build打包后,会将static目录下的资源拷贝到dist目录,其他的js和css会自动压缩成.js 和.css并且注入到index.html中。

Vue项目服务器部署之子目录部署方法

poi项目如果需要打包到子目录,必须设置homePage为子目录。这是第一步

Vue项目服务器部署之子目录部署方法

第二步,必须将index.html中其他非Vue部分的资源增加子目录的前缀,包括网站的icon.

Vue项目服务器部署之子目录部署方法

第三步保证Css文件中的资源路径为相对路径。

Vue项目服务器部署之子目录部署方法

第四步,需要修改vueRouter中的base为子目录。

Vue项目服务器部署之子目录部署方法

然后执行npm run dev 也就是npm build.观察打包后的index.html,css文件等。

Vue项目服务器部署之子目录部署方法

Vue项目服务器部署之子目录部署方法

然后配置nginx到二级目录:       

 location  /ticket {           alias /root/java/ticket/dist/;           try_files $uri $uri/ @rewrites;        }        location @rewrites {          rewrite ^/(ticket|sign|reimburse)/(.+)$ /$1/index.html last;        }这里$1对应url中的ticket,由于我这里有多个项目共用了rewrite所以逻辑或了三个,如果只有一个子目录,使用^/(ticket)/(

然后配置nginx到二级目录:        location  /ticket {           alias /root/java/ticket/dist/;           try_files $uri $uri/ @rewrites;        }        location @rewrites {          rewrite ^/(ticket|sign|reimburse)/(.+)$ /$1/index.html last;        }这里$1对应url中的ticket,由于我这里有多个项目共用了rewrite所以逻辑或了三个,如果只有一个子目录,使用^/(ticket)/(.+)$,这里切记要把ticket扩起来。

这里切记要把ticket扩起来。

项目部署成功!

Javascript 相关文章推荐
javascript获得CheckBoxList选中的数量
Oct 27 Javascript
自己动手制作jquery插件之自动添加删除行功能介绍
Oct 14 Javascript
计算新浪Weibo消息长度(还可以输入119字)
Jul 02 Javascript
js中iframe调用父页面的方法
Oct 30 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
Dec 31 Javascript
php main 与 iframe 相互通讯类(js+php同域/跨域)
Sep 14 Javascript
基于Vue2.0+ElementUI实现表格翻页功能
Oct 23 Javascript
实例讲解javascript实现异步图片上传方法
Dec 05 Javascript
vue路由传参页面刷新参数丢失问题解决方案
Oct 08 Javascript
Javascript文本框脚本实现方法解析
Oct 30 Javascript
解决vue props传Array/Object类型值,子组件报错的情况
Nov 07 Javascript
使用AutoJs实现微信抢红包的代码
Dec 31 Javascript
vue配置接口域名方法总结
May 12 #Javascript
详解babel升级到7.X采坑总结
May 12 #Javascript
babel7.x和webpack4.x配置vue项目的方法步骤
May 12 #Javascript
vue轻量级框架无法获取到vue对象解决方法
May 12 #Javascript
使vue实现jQuery调用的两种方法
May 12 #jQuery
React优化子组件render的使用
May 12 #Javascript
基于elementUI使用v-model实现经纬度输入的vue组件
May 12 #Javascript
You might like
Windows2003 下 MySQL 数据库每天自动备份
2006/12/21 PHP
用PHP程序实现支持页面后退的两种方法
2008/06/30 PHP
php利用scws实现mysql全文搜索功能的方法
2014/12/25 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
PHP crypt()函数的用法讲解
2019/02/15 PHP
使用jQuery的ajax功能实现的RSS Reader 代码
2009/09/03 Javascript
Javascript中Eval函数的使用
2010/03/23 Javascript
JavaScrip单线程引擎工作原理分析
2010/09/04 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
jQuery循环动画与获取组件尺寸的方法
2015/02/02 Javascript
jQuery实现的数值范围range2dslider选取插件特效多款代码分享
2015/08/27 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
jQuery实现获取h1-h6标题元素值的方法
2017/03/06 Javascript
js获取当前周、上一周、下一周日期
2017/03/19 Javascript
Vue实现双向数据绑定
2017/05/03 Javascript
Angular 4.X开发实践中的踩坑小结
2017/07/04 Javascript
ES6与CommonJS中的模块处理的区别
2018/06/13 Javascript
通过扫小程序码实现网站登陆功能
2019/08/22 Javascript
15分钟上手vue3.0(小结)
2020/05/20 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
[03:57]DOTA2英雄梦之声_第03期_幻影刺客
2014/06/21 DOTA
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
python画折线图的程序
2018/07/26 Python
Django 多环境配置详解
2019/05/14 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
2020/01/18 Python
python中spy++的使用超详细教程
2021/01/29 Python
CSS3中background-clip和background-origin的区别示例介绍
2014/03/10 HTML / CSS
普天C++笔试题
2016/03/20 面试题
一帮一活动总结
2014/05/08 职场文书
施工安全承诺书
2014/05/22 职场文书
环境科学专业求职信
2014/08/04 职场文书
三严三实心得体会范文
2014/10/13 职场文书
《鲁滨逊漂流记》之六读后感(4篇)
2019/09/29 职场文书
企业内部管理控制:银行存款控制制度范本
2020/01/10 职场文书