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 相关文章推荐
jsvascript图像处理—(计算机视觉应用)图像金字塔
Jan 15 Javascript
JS 实现Table相同行的单元格自动合并示例代码
Aug 27 Javascript
JavaScript移除数组元素减少长度的方法
Sep 05 Javascript
用jQuery与JSONP轻松解决跨域访问的问题
Feb 04 Javascript
在jQuery中处理XML数据的大致方法
Aug 14 Javascript
深入浅析JavaScript中的constructor
Apr 19 Javascript
浅谈js控制li标签排序问题 js调用php函数的方法
Oct 16 Javascript
微信小程序使用wxParse解析html的方法示例
Jan 17 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
Jun 10 Javascript
Vue 2.0双向绑定原理的实现方法
Oct 23 Javascript
原生js实现无缝轮播图
Jan 11 Javascript
vue-cli4.x创建企业级项目的方法步骤
Jun 18 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表单提交表单名称含有点号(.)则会被转化为下划线(_)
2011/12/14 PHP
解决ajax+php中文乱码的方法详解
2013/06/09 PHP
PHP 使用redis简单示例分享
2015/03/05 PHP
php析构函数的简单使用说明
2015/08/24 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
2016/11/23 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
php操作redis数据库常见方法实例总结
2020/02/20 PHP
自己整理的一个javascript日期处理函数
2010/10/16 Javascript
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
基于jquery实现复选框全选,反选,全不选等功能
2015/10/16 Javascript
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
vue日期组件 支持vue1.0和2.0
2017/01/09 Javascript
js/jquery控制页面动态加载数据 滑动滚动条自动加载事件的方法
2017/02/08 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
在layui框架中select下拉框监听更改事件的例子
2019/09/20 Javascript
python简单实例训练(21~30)
2017/11/15 Python
PyQt5每天必学之带有标签的复选框
2018/04/19 Python
python dataframe常见操作方法:实现取行、列、切片、统计特征值
2018/06/09 Python
运用Python的webbrowser实现定时打开特定网页
2019/02/21 Python
浅谈Python反射 &amp; 单例模式
2019/03/21 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
2020/03/06 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
C++面试题:关于链表和指针
2013/06/05 面试题
NET程序员上机面试题
2015/05/23 面试题
历史学专业推荐信
2013/11/06 职场文书
顶岗实习计划书
2014/01/10 职场文书
2014村务公开实施方案
2014/02/25 职场文书
具结保证书
2015/01/17 职场文书
中班下学期个人总结
2015/02/12 职场文书
入党转正申请书范文
2019/05/20 职场文书
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis
mysql备份策略的实现(全量备份+增量备份)
2021/07/07 MySQL
实例详解Python的进程,线程和协程
2022/03/13 Python