我们开发中会遇到这样的需求,让我们用服务器nginx部署一个用域名的二级目录来访问项目
**https:xxx/二级目录/**来放访问项目
目录
[1、nginx配置(vue2 和 vue3配置的nginx相同)](#1、nginx配置(vue2 和 vue3配置的nginx相同))
思路
将项目中的访问路由和静态资源文件,都加上要配置的二级目录,然后配置nginx的二级目录就ok了
首先我们要配置一个106.13.0.11:8083/qfqzApp
的二级路由,针对于vue2
项目,我们需要进行一下操作。
1、nginx配置(vue2 和 vue3配置的nginx相同)
server {
listen 8083; #1.监听访问端口
server_name 106.13.0.11; #2.当前服务器ip或者域名或者localhost
# 这里要写成末尾不带"/"的形式,如果写成"/qfqzApp/"单单访问106.13.0.11:8083/qfqzApp会404
location /qfqzApp {
alias /usr/web/qfqz/dist/; # 这里配置alias(配置root的话,必须了解访问规则)
index index.html index.htm;
try_files $uri $uri/ /qfqzApp/index.html; # 这里在/index.html的基础上,前面需要加上/qfqzApp
gzip_static on;
}
}
2、vue2+webpack的配置
(1)vue.config.js配置
配置
module.exports = {
publicPath: "/qfqzApp/"
}
(2)router配置
const router = new VueRouter({
mode: "history",
base: process.env.BASE_URL, // 这个就是上面的publicPath
routes,
});
3、vue3+vite的配置
(1)vite.config.js配置
配置
export default defineConfig({
base: "/qfqzApp/"
})
(2)router配置
const router = createRouter({
// 指定路由的模式,此处使用的是history模式
history: createWebHistory("/qfqzApp/"),
// 路由地址
routes
});
4、发布
配置完以上三步后,
vue项目进行打包发布复制到服务器对应目录下,
nginx配置改完记得进行重启。
然后就能够正常访问二级路由了。