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 相关文章推荐
判断用户是否在线的代码
Mar 05 Javascript
jquery自动将form表单封装成json的具体实现
Mar 17 Javascript
Egret引擎开发指南之运行项目
Sep 03 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
Mar 03 Javascript
js实现文本框宽度自适应文本宽度的方法
Aug 13 Javascript
javascript中undefined与null的区别
Aug 16 Javascript
JavaScript设计模式开发中组合模式的使用教程
May 18 Javascript
js控件Kindeditor实现图片自动上传功能
Jul 20 Javascript
jQuery实现标签页效果实战(4)
Feb 08 Javascript
浅谈React中的元素、组件、实例和节点
Feb 27 Javascript
浅析Proxy可以优化vue的数据监听机制问题及实现思路
Nov 29 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
Aug 20 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超全局数组(Superglobals)介绍
2015/07/01 PHP
PHP实现随机发扑克牌
2020/04/22 PHP
javascript 文档的编码问题解决
2009/03/01 Javascript
IE的事件传递-event.cancelBubble示例介绍
2014/01/12 Javascript
jquery插件lazyload.js延迟加载图片的使用方法
2014/02/19 Javascript
javascript模拟php函数in_array
2015/04/27 Javascript
用js动态添加html元素,以及属性的简单实例
2016/07/19 Javascript
jQuery 插件实现随机自由弹跳气泡样式
2017/01/12 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
前端构建工具之gulp的配置与搭建详解
2017/06/12 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
几个你不知道的技巧助你写出更优雅的vue.js代码
2018/06/11 Javascript
javascript 内存模型实例详解
2020/04/18 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
如何使用gpu.js改善JavaScript的性能
2020/12/01 Javascript
[49:20]VG vs TNC Supermajor小组赛B组败者组决赛 BO3 第二场 6.2
2018/06/03 DOTA
[04:00]黄浦江畔,再会英雄——完美世界DOTA2 TI9应援视频
2019/07/31 DOTA
python利用paramiko连接远程服务器执行命令的方法
2017/10/16 Python
python链接oracle数据库以及数据库的增删改查实例
2018/01/30 Python
python3个性签名设计实现代码
2018/06/19 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
2018/10/29 Python
记录模型训练时loss值的变化情况
2020/06/16 Python
浅谈Python 参数与变量
2020/06/20 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
pandas针对excel处理的实现
2021/01/15 Python
英国最大的女性服装零售商:Dorothy Perkins
2017/03/30 全球购物
产品工艺师的岗位职责
2013/11/15 职场文书
财务会计人员岗位职责
2013/11/30 职场文书
韩国商务邀请函
2014/01/14 职场文书
运动会通讯稿300字
2014/02/02 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
商务英语专业求职信
2014/06/26 职场文书
县委常委班子对照检查材料思想汇报
2014/09/28 职场文书
蓬莱阁导游词
2015/02/04 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
2016小学优秀教师先进事迹材料
2016/02/26 职场文书