背景:同一个域名下,配置多个Vue 项目,通过
location
来区分。
vue项目使用 vue-cli
来生成。
一、Vue 项目配置
有两个项目:
第一个:打包到 `badudu`目录中;
第二个:打包到 `management` 目录中;
注意:第二个项目需要需要做以下修改,然后再进行打包。第一个项目啥都不用动,就用默认的配置就行。
- 1、vue.config.js 中,添加:
publicPath: '/management'
配置项 - 2、router.js 中,添加:
base: '/management
// vue.config.js
module.exports = {
lintOnSave: false,
productionSourceMap: false,
publicPath: '/management',
configureWebpack: config => {
console.log(process);
if (process.env.NODE_ENV === 'production') {
return {
};
// 为生产环境修改配置...
} else {
// 为开发环境修改配置...
}
}
};
// src/router.js
import Vue from 'vue';
import Router from 'vue-router';
import routes from './routes.js';
Vue.use(Router);
const router = new Router({
base: '/management',
mode: 'history',
routes
});
export default router;
image.png对第二个项目打包,打完了以后,看一下 dist 目录中的
index.html
文件,会发现引入文件时,给加上了/management/
这个前缀,这个到时候要与Nginx
的location
配置相对应。
二、 Nginx 配置
server {
listen 80;
server_name www.badudu.cn;
# 项目二的配置
location /management/ {
alias /home/mall/management/; # 这里注意要用 `alias`
index index.html index.htm;
try_files $uri $uri/ /management/index.html;
}
# 项目一的配置
location / {
root /home/mall/badudu/;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
网友评论