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_11_constructor实现原理
Oct 18 Javascript
Jvascript学习实践案例(开发常用)
Jun 25 Javascript
用js来获取上传的文件名纯粹是为了美化而用
Oct 23 Javascript
快速解决jquery之get缓存问题的最简单方法介绍
Dec 19 Javascript
js实现用户离开页面前提示是否离开此页面的方法(包括浏览器按钮事件)
Jul 18 Javascript
JSONP和批量操作功能的实现方法
Aug 21 Javascript
原生JS简单实现ajax的方法示例
Nov 29 Javascript
利用js定义一个导航条菜单
Mar 14 Javascript
node.js平台下的mysql数据库配置及连接
Mar 31 Javascript
socket.io实现在线群聊功能
Apr 07 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
Sep 11 Javascript
详解vue beforeRouteEnter 异步获取数据给实例问题
Aug 09 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 七大优势分析
2009/06/23 PHP
PHP中把stdClass Object转array的几个方法
2014/05/08 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
防止文件缓存的js代码
2013/01/10 Javascript
JavaScript获取网页、浏览器、屏幕高度和宽度汇总
2014/12/18 Javascript
JS实现网页表格自动变大缩小的方法
2015/03/09 Javascript
jquery实现无限分级横向导航菜单的方法
2015/03/12 Javascript
AngualrJS中的Directive制作一个菜单
2016/01/26 Javascript
Js 获取当前函数参数对象的实现代码
2016/06/20 Javascript
jQuery实现的超链接提示效果示例【附demo源码下载】
2016/09/09 Javascript
three.js中3D视野的缩放实现代码
2017/11/16 Javascript
Vue2.5通过json文件读取数据的方法
2018/02/27 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
2018/10/29 Javascript
解决vue单页面修改样式无法覆盖问题
2019/08/05 Javascript
VUE解决 v-html不能触发点击事件的问题
2019/10/28 Javascript
[48:20]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python 字符串中的字符倒转
2008/09/06 Python
Python中使用Flask、MongoDB搭建简易图片服务器
2015/02/04 Python
Python数据类型学习笔记
2016/01/13 Python
批处理与python代码混合编程的方法
2016/05/19 Python
Python、PyCharm安装及使用方法(Mac版)详解
2017/04/28 Python
对Python中list的倒序索引和切片实例讲解
2018/11/15 Python
pandas 数据索引与选取的实现方法
2019/06/21 Python
详解python pandas 分组统计的方法
2019/07/30 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
python xlsxwriter模块的使用
2020/12/24 Python
面向对象设计的原则是什么
2013/02/13 面试题
个人评价范文分享
2014/01/11 职场文书
社区平安建设方案
2014/05/25 职场文书
含预算的公司户外活动方案
2014/08/16 职场文书
优秀乡村医生先进事迹材料
2014/08/23 职场文书
群众路线班子对照检查材料
2014/09/25 职场文书
英文感谢信范文
2015/01/21 职场文书
2015年营业员工作总结
2015/04/23 职场文书
golang操作rocketmq的示例代码
2022/04/06 Golang