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 相关文章推荐
json-lib出现There is a cycle in the hierarchy解决办法
Feb 24 Javascript
使用Microsoft Ajax Minifier减小JavaScript文件大小的方法
Apr 01 Javascript
js arguments对象应用介绍
Nov 28 Javascript
用JavaScript获取DOM元素位置和尺寸大小的方法
Apr 12 Javascript
关于JavaScript对象的动态选择及遍历对象
Mar 10 Javascript
js限制文本框的输入内容代码分享(3类)
Aug 20 Javascript
angularjs之$timeout指令详解
Jun 13 Javascript
Async Validator 异步验证使用说明
Jul 03 Javascript
谈谈IntersectionObserver懒加载的具体使用
Oct 15 Javascript
微信小程序实现按字母排列选择城市功能
Nov 25 Javascript
JavaScript 判断数据类型的4种方法
Sep 11 Javascript
VUE和Antv G6实现在线拓扑图编辑操作
Oct 28 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
PHP中将数组转成XML格式的实现代码
2011/08/08 PHP
PHPMYADMIN导入数据最大为2M的解决方法
2012/04/23 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
2014/07/04 PHP
php表单加入Token防止重复提交的方法分析
2016/10/10 PHP
laravel框架与其他框架的详细对比
2019/10/23 PHP
js利用与或运算符优先级实现if else条件判断表达式
2010/04/15 Javascript
js 分页全选或反选标识实现代码
2011/08/09 Javascript
3款实用的在线JS代码工具(国外)
2012/03/15 Javascript
JS获取各种浏览器窗口大小的方法
2014/01/14 Javascript
jQuery实现强制cookie过期方法汇总
2015/05/22 Javascript
JS模拟实现Select效果代码
2015/09/24 Javascript
JS常用字符串方法(推荐)
2021/01/15 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
2016/07/28 Javascript
原生JavaScript制作计算器
2016/10/16 Javascript
详解Vue中状态管理Vuex
2017/05/11 Javascript
jQuery利用FormData上传文件实现批量上传
2018/12/04 jQuery
详解Ant Design of React的安装和使用方法
2018/12/27 Javascript
微信小程序接入腾讯云验证码的方法步骤
2020/01/07 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
js实现文字头像的生成代码
2020/03/07 Javascript
[58:09]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第三场 6.2
2018/06/03 DOTA
Python入门篇之正则表达式
2014/10/20 Python
Python实现的json文件读取及中文乱码显示问题解决方法
2018/08/06 Python
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
tensorflow多维张量计算实例
2020/02/11 Python
如何基于Python爬虫爬取美团酒店信息
2020/11/03 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
总结html5自定义属性有哪些
2020/04/01 HTML / CSS
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
string = null 和string = ''的区别
2013/04/28 面试题
90后毕业生的求职信范文
2013/09/21 职场文书
劳动竞赛活动方案
2014/02/20 职场文书
公司领导班子群众路线四风问题对照检查材料
2014/10/02 职场文书
2015年党支部书记工作总结
2015/05/21 职场文书
三年级作文之趣事作文
2019/11/04 职场文书
Python闭包的定义和使用方法
2022/04/11 Python