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 相关文章推荐
js 匿名调用实现代码
Jun 19 Javascript
纯js网页画板(Graphics)类简介及实现代码
Dec 24 Javascript
js string 转 int 注意的问题小结
Aug 15 Javascript
jQuery创建DOM元素实例解析
Jan 19 Javascript
Bootstrap3制作图片轮播效果
May 12 Javascript
laypage分页控件使用实例详解
May 19 Javascript
浅谈js-FCC算法Friendly Date Ranges(详解)
Apr 10 Javascript
Javacript中自定义的map.js  的方法
Nov 26 Javascript
vue的token刷新处理的方法
Jul 17 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
May 28 Javascript
JavaScript通如何过RGraph实现动态仪表盘
Oct 15 Javascript
vue 解决在微信内置浏览器中调用支付宝支付的情况
Nov 09 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
解析mysql left( right ) join使用on与where筛选的差异
2013/06/18 PHP
ThinkPHP控制器间实现相互调用的方法
2014/10/31 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
Laravel等框架模型关联的可用性浅析
2019/12/15 PHP
JQuery读取XML文件数据并显示的实现代码
2009/12/16 Javascript
用jquery实现下拉菜单效果的代码
2010/07/25 Javascript
javascript 45种缓动效果 非常酷
2011/06/28 Javascript
js string 转 int 注意的问题小结
2013/08/15 Javascript
浅谈javascript六种数据类型以及特殊注意点
2013/12/20 Javascript
JavaScript中九种常用排序算法
2014/09/02 Javascript
使用NodeJs 开发微信公众号(三)微信事件交互实例
2016/03/02 NodeJs
详解Node.Js如何处理post数据
2016/09/19 Javascript
javascript实现鼠标点击页面 移动DIV
2016/12/02 Javascript
JavaScript日期对象(Date)基本用法示例
2017/01/18 Javascript
package.json文件配置详解
2017/06/15 Javascript
JS数组操作之增删改查的简单实现
2017/08/21 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
2017/10/11 Javascript
浅谈webpack SplitChunksPlugin实用指南
2018/09/17 Javascript
vue移动端项目缓存问题实践记录
2018/10/29 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
[04:31]2016国际邀请赛中国区预选赛妖精采访
2016/06/27 DOTA
在dataframe两列日期相减并且得到具体的月数实例
2018/07/03 Python
python3 反射的四种基本方法解析
2019/08/26 Python
Python实现代码统计工具
2019/09/19 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
英国独特礼物想法和个性化礼物网站:notonthehighstreet.com
2018/04/16 全球购物
学院领导推荐信
2013/10/30 职场文书
教育课题研究自我鉴定范文
2013/12/28 职场文书
小学教师办公室制度
2014/02/03 职场文书
解除劳动合同协议书
2014/09/17 职场文书
村党组织公开承诺书
2015/04/30 职场文书
2015年社区国庆节活动总结
2015/07/30 职场文书
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
2021/04/16 PHP
SpringBoot2 参数管理实践之入参出参与校验的方式
2021/06/16 Java/Android
交互式可视化js库gojs使用介绍及技巧
2022/02/18 Javascript