【Vue项目总结】项目nginx部署
栏目: JavaScript · 发布时间: 6年前
内容简介:项目开发完成,接下来是上线,关于在项目
项目开发完成,接下来是上线,关于 vue
项目的部署,我司前端是部署在 nginx
服务器上,关于 nginx
的相关文档,请自行查阅;本文只记录部署时碰到的一些问题。
打包
vue
项目打包后,是生成一系列的静态文件,包括项目的请求 IP
都打入包内,如果后台服务改动,这时你的前端文件,又要重新编译打包,这里采用的是 后台管理项目总结
提到的前端自行请求一个配置文件,动态修改你的相关配置。
- 静态文件
// config.json
{
"api": "test.com"
}
- 请求文件
在项目 store
中请求你的配置文件,写入 state
中,在调用的时候可以全局访问到你的配置
// api.js
GetConfigApi() {
return new Promise((resolve, reject) => {
axios
.get(`/config.json?v=${new Date().getTime()}`)
.then(result => {
const configApi = {
API: result.data['api'], // 统一接口
};
resolve(configApi);
})
.catch(error => {
reject(error);
});
});
}
nginx部署
因为 vue-router
有 hash
和 history
不同的两种模式,使用不同的模式, nginx
的配置不同, hash
模式下,不需要改动,只需要部署你的前端文件就可以了,所以这里只讨论 history
模式下 .conf
文件的修改
访问修改 nginx
配置文件 nginx.conf
server {
listen 80;
server_name test.com;
location / {
root /front; // 前端文件路径
index index.html; // hash模式只配置访问html就可以了
try_files $uri $uri/ /index.html; // history模式下
}
}
修改完成,重启服务访问 test.com
部署到子级目录
当我们需要把项目部署到子级目录下时,则需要修改项目的 BASE_URL
,生成一个子级目录下的绝对访问路径。修改对应的 .conf
配置文件
server {
listen 80;
server_name test.com;
location /demo { // 子级目录
alias /front/demo;
index index.html;
try_files $uri $uri/ /demo/index.html;
}
}
修改完成,重启服务访问 test.com/demo
缓存处理
前端项目的静态文件常常会被浏览器缓存,而项目编译后, js
, css
,图片等实际上是已经有 hash
值来去除了缓存,但是项目更新后,仍然会出现缓存问题,这是由于我们的项目整个入口都是在 index.html
文件上,浏览器实际是缓存了我们的 html
页面,所以我们要在 nginx
中告诉浏览器, html
文件不被缓存。
location /demo {
add_header Cache-Control 'private, no-store, max-age=0';
...
}
总结
这里只讨论了 nginx
相关的部署,实际上 vue-router
文档
上是有相关的配置例子的。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- linux 部署golang 项目(直接部署和基于nginx部署)
- CentOS 部署 flask项目
- Docker 部署Python项目
- 【前端打包部署】谈一谈我在SPA项目打包=>部署的处理
- 「实战篇」开源项目docker化运维部署-后端java部署(七)
- jenkins自动化项目部署实战
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Java语言程序设计
(美) Y. Daniel Liang / 李娜 / 机械工业出版社 / 2011-6 / 79.00元
本书是Java语言的经典教材,畅销多年不衰。本书全面整合了Java的特性,采用“先讲基础”的教学方式,循序渐进地介绍了程序设计基础、面向对象程序设计、GUI程序设计等。另外,本书还全面且深入地覆盖了一些高级主题,包括算法和数据结构、并发、网络、国际化、高级GUI、数据库和Web程序设计等。 本书中文版由《Java语言程序设计 基础篇》和《Java语言程序设计 进阶篇》组成。基础篇对应原书的第......一起来看看 《Java语言程序设计》 这本书的介绍吧!