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 相关文章推荐
jquery.jstree 增加节点的双击事件代码
Jul 27 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
Jul 31 Javascript
Jquery倒数计时按钮setTimeout的实例代码
Jul 04 Javascript
jquery在项目中做复选框时遇到的一些问题笔记
Nov 17 Javascript
js实现遮罩层弹出框的方法
Jan 15 Javascript
axios 处理 302 状态码的解决方法
Apr 10 Javascript
vue2中使用sass并配置全局的sass样式变量的方法
Sep 04 Javascript
vue 中基于html5 drag drap的拖放效果案例分析
Nov 01 Javascript
JavaScript数组特性与实践应用深入详解
Dec 30 Javascript
解决layer弹出层自适应页面大小的问题
Sep 16 Javascript
vue实现百度搜索功能
Dec 28 Javascript
原生JavaScript实现贪吃蛇游戏
Nov 04 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
Windows中安装Apache2和PHP4权威指南
2006/11/18 PHP
使用apache模块rewrite_module (转)
2007/02/14 PHP
PHP错误抑制符(@)导致引用传参失败Bug的分析
2011/05/02 PHP
php取得字符串首字母的方法
2015/03/25 PHP
php身份证号码检查类实例
2015/06/18 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
thinkPHP框架自动填充原理与用法分析
2018/04/03 PHP
javascript 学习笔记(六)浏览器类型及版本信息检测代码
2011/04/08 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
JavaScript实现多维数组的方法
2013/11/20 Javascript
FF IE浏览器修改标签透明度的方法
2014/01/27 Javascript
javascript + jquery实现定时修改文章标题
2014/03/19 Javascript
tuzhu_req.js 实现仿百度图片首页效果
2015/08/11 Javascript
Nodejs爬虫进阶教程之异步并发控制
2016/02/15 NodeJs
jQuery中的siblings()是什么意思(推荐)
2016/12/29 Javascript
jQuery实现字体颜色渐变效果的方法
2017/03/29 jQuery
详解Angular 开发环境搭建
2017/06/22 Javascript
Koa2 之文件上传下载的示例代码
2018/03/29 Javascript
Django 内置权限扩展案例详解
2019/03/04 Python
深入了解Django中间件及其方法
2019/07/26 Python
pytorch 预训练层的使用方法
2019/08/20 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
python3.7 利用函数os pandas利用excel对文件名进行归类
2019/09/29 Python
torch 中各种图像格式转换的实现方法
2019/12/26 Python
TensorFlow实现打印每一层的输出
2020/01/21 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
Python3爬虫里关于代理的设置总结
2020/07/30 Python
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
圣诞节红领巾广播稿
2014/02/03 职场文书
团队拓展活动方案
2014/08/28 职场文书
小学国庆节活动方案策划书
2014/09/16 职场文书
人事聘任通知
2015/04/21 职场文书
2019年大学生职业生涯规划书
2019/03/25 职场文书
详细介绍Java中的CyclicBarrier
2022/04/13 Java/Android
Python中np.random.randint()参数详解及用法实例
2022/09/23 Python