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 相关文章推荐
prettify 代码高亮着色器google出品
Dec 28 Javascript
JavaScript如何从listbox里同时删除多个项目
Oct 12 Javascript
js判断字符长度以及中英文数字等
Dec 31 Javascript
javascript实现复选框超过限制即弹出警告框的方法
Feb 25 Javascript
在JavaScript中操作时间之getMonth()方法的使用
Jun 10 Javascript
javascript字符串函数汇总
Dec 06 Javascript
深入浅出 jQuery中的事件机制
Aug 23 Javascript
详解Angular-Cli中引用第三方库
May 21 Javascript
JavaScript重复元素处理方法分析【统计个数、计算、去重复等】
Dec 14 Javascript
js闭包学习心得总结
Apr 17 Javascript
微信小程序单选框自定义赋值
May 26 Javascript
vue 获取url里参数的两种方法小结
Nov 12 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错误信息方法的详解
2013/06/09 PHP
Laravel中为什么不使用blpop取队列详析
2018/08/01 PHP
PHP生成zip压缩包的常用方法示例
2019/08/22 PHP
分析 JavaScript 中令人困惑的变量赋值
2007/08/13 Javascript
javascript学习基础笔记之DOM对象操作
2011/11/03 Javascript
js 判断js函数、变量是否存在的简单示例代码
2014/03/04 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
轻松实现Bootstrap图片轮播
2020/04/20 Javascript
学习使用bootstrap基本控件(table、form、button)
2016/04/12 Javascript
jQuery插件HighCharts绘制的2D堆柱状图效果示例【附demo源码下载】
2017/03/14 Javascript
vue如何从接口请求数据
2017/06/22 Javascript
深入理解JS的事件绑定、事件流模型
2018/05/13 Javascript
angular 组件通信的几种实现方式
2018/07/13 Javascript
详解Vue-cli3 项目在安卓低版本系统和IE上白屏问题解决
2019/04/14 Javascript
Vue.js实现大屏数字滚动翻转效果
2019/11/29 Javascript
如何利用JavaScript编写一个格斗小游戏
2021/01/06 Javascript
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
使用Python操作Elasticsearch数据索引的教程
2015/04/08 Python
在Django的视图(View)外使用Session的方法
2015/07/23 Python
python中实现延时回调普通函数示例代码
2017/09/08 Python
django 常用orm操作详解
2017/09/13 Python
用TensorFlow实现戴明回归算法的示例
2018/05/02 Python
python 随机打乱 图片和对应的标签方法
2018/12/14 Python
Python使用pymongo库操作MongoDB数据库的方法实例
2019/02/22 Python
解决Python3.8用pip安装turtle-0.0.2出现错误问题
2020/02/11 Python
django为Form生成的label标签添加class方式
2020/05/20 Python
Python如何输出整数
2020/06/07 Python
Prometheus开发中间件Exporter过程详解
2020/11/30 Python
关于工资低的辞职信
2014/01/14 职场文书
聘用意向书范本
2014/04/01 职场文书
会计演讲稿范文
2014/05/23 职场文书
护理专业毕业生自荐信
2014/06/15 职场文书
岳麓书院导游词
2015/02/03 职场文书
演讲比赛通讯稿
2015/07/18 职场文书
python使用pycharm安装pyqt5以及相关配置
2022/04/22 Python