vue项目部署到nginx/tomcat服务器的实现


Posted in Javascript onAugust 26, 2019

开发完的vue项目,需要部署到Nginx/Tomcat服务器上运行,作为一个前端小白,刚接触vue不久,研究了一番,于是写下这篇文章,记录下来便于今后部署。

1.router(history)模式vue项目部署到nginx

1)修改router模式为history(默认为hash)

const router = new VueRouter({
 routes,
 mode: 'history'
});

对路由模式不清楚的小伙伴,可以看这篇vue-router路由模式详解

2)修改config/index.js,build下静态资源路径,完成后执行npm run build打包

vue项目部署到nginx/tomcat服务器的实现

3)修改nginx配置

server {
  listen    80;//代理端口
  server_name 192.168.0.152;//代理名称(域名、ip)
  #charset koi8-r;

  #access_log logs/host.access.log main;

  location / {
    root test; //项目存放的地址(当前服务器位置)
    index /index.html;            
    try_files $uri $uri/ @router; //一个覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,返回同一个 index.html 页面
  }
  location @router {
    rewrite ^.*$ /index.html last;
  }
}

运行结果:

vue项目部署到nginx/tomcat服务器的实现

2.vue项目部署到tomcat

1)项目上线,一般需要添加项目名,并且消去vue-router产生的#号,需要在router配置

const router = new VueRouter({
 routes,
 mode: 'history',
 base: '/test/'//项目名称 访问路由页面都需要加上这个,访问的根路径为http://ip:port/test
});

2)修改config/index.js,build下静态资源路径与base的取值一致

vue项目部署到nginx/tomcat服务器的实现

3)tomcat的配置

在tomcat的webapps新建文件夹,文件夹名称和上面配置的根路径一致,即为test,然后将打包生成的dist文件夹里面的文件复制到test下,并且新建文件WEB-INF/web.xml。

项目结构为:

vue项目部署到nginx/tomcat服务器的实现

WEB-INF目录下新增web.xml内容为:

//覆盖所有情况的候选资源:如果 URL 匹配不到任何静态资源,返回同一个 index.html页面
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
           http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1" metadata-complete="true">
  <display-name>Router for Tomcat</display-name>
  <error-page>
    <error-code>404</error-code>
    <location>/index.html</location>
  </error-page>
</web-app>

详细了解可看vue官方文档后端配置HTML5 History 模式

4)重新启动tomcat

vue项目部署到nginx/tomcat服务器的实现

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript通过class来获取元素实现代码
Feb 20 Javascript
将中国标准时间转换成标准格式的代码
Mar 20 Javascript
有关jquery与DOM节点操作方法和属性记录
Apr 15 Javascript
第一次接触JS require.js模块化工具
Apr 17 Javascript
BootStrap表单时间选择器详解
May 09 Javascript
JavaScript中立即执行函数实例详解
Nov 04 Javascript
vuejs实现标签选项卡动态更改css样式的方法
May 31 Javascript
vue.js的vue-cli脚手架中使用百度地图API的实例
Jan 21 Javascript
javascript判断一个变量是数组还是对象
Apr 10 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
May 24 Javascript
js实现数据导出为EXCEL(支持大量数据导出)
Mar 31 Javascript
JS如何实现在弹出窗口中加载页面
Dec 03 Javascript
vue-router路由模式详解(小结)
Aug 26 #Javascript
vue+moment实现倒计时效果
Aug 26 #Javascript
原生js实现针对Dom节点的CRUD操作示例
Aug 26 #Javascript
Moment.js实现多个同时倒计时
Aug 26 #Javascript
vue获取验证码倒计时组件
Aug 26 #Javascript
seajs和requirejs模块化简单案例分析
Aug 26 #Javascript
JavaScript实现身份证验证代码实例
Aug 26 #Javascript
You might like
咖啡语言
2021/03/03 咖啡文化
php懒人函数 自动添加数据
2011/06/28 PHP
php中inlcude()性能对比详解
2012/09/16 PHP
测试php连接mysql是否成功的代码分享
2014/01/24 PHP
php类常量用法实例分析
2015/07/09 PHP
PHP实现简单实用的分页类代码
2016/04/08 PHP
PHP开发API接口签名生成及验证操作示例
2020/05/27 PHP
IE6图片加载的一个BUG解决方法
2010/07/13 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
用js一次改变多个input的readonly属性值的方法
2014/06/11 Javascript
Firefox下无法正常显示年份的解决方法
2014/09/04 Javascript
JS模拟并美化的表单控件完整实例
2015/08/19 Javascript
JS+CSS实现鼠标滑过时动态翻滚的导航条效果
2015/09/24 Javascript
jQuery插件实现表格隔行变色及鼠标滑过高亮显示效果代码
2016/02/25 Javascript
Vuejs第十篇之vuejs父子组件通信
2016/09/06 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
如何使用Node.js爬取任意网页资源并输出PDF文件到本地
2019/06/17 Javascript
浅谈React中组件逻辑复用的那些事儿
2020/05/21 Javascript
Vue组件为什么data必须是一个函数
2020/06/11 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
[07:43]《辉夜杯》公开赛晋级外卡赛战队—TRG训练生活探秘
2015/12/11 DOTA
[01:17]炒鸡美酒第四天TA暴走
2018/06/05 DOTA
[01:06:19]DOTA2-DPC中国联赛定级赛 LBZS vs SAG BO3第二场 1月8日
2021/03/11 DOTA
Python实现的递归神经网络简单示例
2017/08/11 Python
python pygame实现五子棋小游戏
2020/10/26 Python
python3 反射的四种基本方法解析
2019/08/26 Python
Python爬虫实例——scrapy框架爬取拉勾网招聘信息
2020/07/14 Python
把富文本的回车转为br标签
2019/08/09 HTML / CSS
理货员的岗位职责
2013/11/23 职场文书
长安大学毕业生自我鉴定
2014/01/17 职场文书
互联网创业计划书写作技巧攻略
2014/03/23 职场文书
教师党员批评与自我批评
2014/10/15 职场文书
简历中自我评价范文
2015/03/11 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
MySQL 使用索引扫描进行排序
2021/06/20 MySQL
MySQL配置主从服务器(一主多从)
2021/08/07 MySQL