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 相关文章推荐
js+html+css实现鼠标移动div实例
Jan 30 Javascript
JS中获取数据库中的值的方法
Jul 14 Javascript
js中的cookie的读写操作示例详解
Apr 17 Javascript
javasript实现密码的隐藏与显示
May 08 Javascript
JS获取文件大小方法小结
Dec 08 Javascript
js格式化时间的方法
Dec 18 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
May 24 Javascript
JS作用域链详解
Jun 26 Javascript
JavaScript实现精美个性导航栏筋斗云效果
Oct 29 Javascript
jquery ajaxfileupload异步上传插件
Nov 21 jQuery
vue中实现在外部调用methods的方法(推荐)
Feb 08 Javascript
微信小程序动画(Animation)的实现及执行步骤
Oct 28 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
php上传图片之时间戳命名(保存路径)
2014/08/15 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
PHP JWT初识及其简单示例
2018/10/10 PHP
javascript Firefox与IE 替换节点的方法
2010/02/24 Javascript
jQuery EasyUI 开源插件套装 完全替代ExtJS
2010/03/24 Javascript
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
javascript教程之不完整的继承(js原型链)
2014/01/13 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
2014/03/13 Javascript
jQuery异步获取json数据方法汇总
2014/12/22 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
Vuex之理解state的用法实例
2017/04/19 Javascript
使用JS和canvas实现gif动图的停止和播放代码
2017/09/01 Javascript
JavaScript常用数组操作方法,包含ES6方法
2020/05/10 Javascript
js中的reduce()函数讲解
2019/01/18 Javascript
基于JS实现web端录音与播放功能
2019/04/17 Javascript
Vue.js 中的实用工具方法【推荐】
2019/07/04 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
[01:02]2014 DOTA2国际邀请赛中国区预选赛 现场抢先看
2014/05/22 DOTA
Python实现获取网站PR及百度权重
2015/01/21 Python
python实现类的静态变量用法实例
2015/05/08 Python
Python使用Scrapy爬取妹子图
2015/05/28 Python
Python入门_条件控制(详解)
2017/05/16 Python
详解用TensorFlow实现逻辑回归算法
2018/05/02 Python
更改Python的pip install 默认安装依赖路径方法详解
2018/10/27 Python
Python学习之os模块及用法
2020/06/03 Python
python实现计算图形面积
2021/02/22 Python
html5图片上传预览示例分享
2014/04/14 HTML / CSS
巴基斯坦购物网站:Goto
2019/03/11 全球购物
PatPat德国:妈妈的每日优惠
2019/10/02 全球购物
泰国Robinson百货官网:购买知名品牌的商品
2020/02/08 全球购物
PHP引擎php.ini参数优化深入讲解
2021/03/24 PHP
中学生社会实践活动总结
2014/07/03 职场文书
签订劳动合同通知书
2015/04/16 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
python神经网络 使用Keras构建RNN训练
2022/05/04 Python