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 相关文章推荐
使用按钮控制以何种方式打开新窗口的属性介绍
Dec 17 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
May 30 Javascript
完美JQuery图片切换效果的简单实现
Jul 21 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
Sep 20 Javascript
arcgis for js 修改infowindow样式的方法
Nov 02 Javascript
AngularJS表格样式简单设置方法示例
Mar 03 Javascript
爬虫利器Puppeteer实战
Jan 09 Javascript
VUE搭建手机商城心得和遇到的坑
Feb 21 Javascript
JavaScript中的this原理及6种常见使用场景详解
Feb 14 Javascript
vue实现简单跑马灯效果
May 25 Javascript
JavaScript常用8种数组去重代码实例
Sep 09 Javascript
js实现头像上传并且可预览提交
Dec 25 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下载CSS文件中的图片的代码
2013/09/24 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(六)
2014/06/23 PHP
PHP调用C#开发的dll类库方法
2014/07/28 PHP
如何把php5.3版本升级到php5.4或者php5.5
2015/07/31 PHP
thinkphp实现163、QQ邮箱收发邮件的方法
2015/12/18 PHP
菜单效果
2006/10/14 Javascript
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
详解js闭包
2014/09/02 Javascript
jQuery实现的五子棋游戏实例
2015/06/13 Javascript
移除AngularJS下URL中的#字符的方法
2015/06/19 Javascript
JS+CSS实现仿msn风格选项卡效果代码
2015/10/22 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
2015/12/03 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
[原创]jQuery实现合并/追加数组并去除重复项的方法
2018/04/11 jQuery
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
原生javascript自定义input[type=radio]效果示例
2019/08/27 Javascript
es6 super关键字的理解与应用实例分析
2020/02/15 Javascript
[05:02][DOTA2]DOTA进化论 第一期
2013/09/27 DOTA
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
Python抽象类的新写法
2015/06/18 Python
Python多进程分块读取超大文件的方法
2016/04/13 Python
Python3内置模块pprint让打印比print更美观详解
2019/06/02 Python
Python常用模块sys,os,time,random功能与用法实例分析
2020/01/07 Python
django实现更改数据库某个字段以及字段段内数据
2020/03/31 Python
html5 css3网站菜单实现代码
2013/12/23 HTML / CSS
鱼油专家:Omegavia
2016/10/10 全球购物
远程学习的教学用品和家庭学习资源:Really Good Stuff
2020/04/27 全球购物
接口可以包含哪些成员
2012/09/30 面试题
如何写求职信
2014/05/24 职场文书
2014年高中教师工作总结
2014/12/19 职场文书
安徽导游词
2015/02/12 职场文书
赞美教师的句子
2019/09/02 职场文书
python 利用PyAutoGUI快速构建自动化操作脚本
2021/05/31 Python
Ajax实现异步加载数据
2021/11/17 Javascript
python周期任务调度工具Schedule使用详解
2021/11/23 Python
Win11怎么添加用户?Win11添加用户账户的方法
2022/07/15 数码科技