vue-router路由history模式,hash模式,Nginx部署到非根目录

一、history模式

1、vue.config.js 配置

module.exports = defineConfig({
  publicPath:process.env.NODE_ENV === 'production' ? '/vue/' : '/',      //此处配置路由,路由名为vue,必须加 /    ,可以随意更改
  outputDir: 'project',     //此处为vue打包后的文件名称
  devServer: {.......此处省略......},
  transpileDependencies: true,
  lintOnSave: false,
});

2、router 文件下 index.js

export default new Router({
  mode: 'history',
  base: process.env.BASE_URL,
  routes: [......此处省略......],
});

3、nginx.conf配置

/**
 * 此处的/vue 路由对应的是publicPath设置的地址,而不是nginx下存放的project项目包,因为history模式不需要实际存在设置的路由路径,也就是此处的vue
 */
location /vue {
    alias   D:/nginx-test/nginx-1.24.0/project/; #此处指向的nginx的项目包
    try_files $uri $uri/ /vue/index.html;
    index  index.html;
}

网址访问:http://ip:prot/vue 即可看到自己的首页

二、hash模式

1、vue.config.js 配置

module.exports = defineConfig({
  publicPath:process.env.NODE_ENV === 'production' ? './' : '/',      //此处配置路由,路由名为./  ,相对路径
  outputDir: 'project',     //此处为vue打包后的文件名称
  devServer: {.......此处省略......},
  transpileDependencies: true,
  lintOnSave: false,
});

2、router 文件下 index.js

export default new Router({
  mode: 'hash',
  base: process.env.BASE_URL,
  routes: [......此处省略......],
});

3、nginx.conf配置

/**
 * 此处的/project 路由对应的是nginx下存放的project项目包
 */
location /project {
    root   D:/nginx-test/nginx-1.24.0; #此处实际映射为 D:/nginx-test/nginx-1.24.0/project  root地址拼接location映射
    index  index.html;
}

网址访问:http://ip:prot/project 即可看到自己的首页
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值