我们开发中会遇到这样的需求,让我们用服务器nginx部署一个用域名的二级目录来访问项目
https:xxx/二级目录/来放访问项目
思路
将项目中的访问路由和静态资源文件,都加上要配置的二级目录,然后配置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配置改完记得进行重启。
然后就能够正常访问二级路由了。