vue 3.0用history路由 二级目录404

vue 3.0用history路由 二级目录404

基于vue 3.0用history路由打包后出现空白页面
当使用二级目录后 二级目录404

如: https://example.com/example 但我们是单页面应用 也有自己的路由地址 https://example.com/example/home 结果访问404

  {
    path: '/home',
    name: 'home',
    component: () => import('../views/home/index.vue'),
  }

解决方案:

1. 修改路由配置

createWebHistory() 值为base
源码:

export declare function createWebHistory(base?: string): RouterHistory;
 const router = createRouter({
  history: createWebHistory(isProduction ?'/example/' : ''),
  routes,
});
2. 修改nginx配置信息:

当我们的路由使用history模式访问时,需对配置进行修改

 location /example/ {
   index  index.html;
   try_files $uri $uri/ /example/index.html; #重要,vue项目解决刷新后404问题,配置项为重试查找别的文件,具体配置请自行百度"nginx try_files"
   alias /xxx/xxx/example;
  }

这样就可以访问:https://example.com/example/home了:亲测有效

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
vue2中,如果要在部署时使用路由history模式,并且要将应用部署在二级目录中,需要进行以下配置。 首先,在vue项目的根目录下找到并打开`vue.config.js`文件,如果没有则需要新建一个。 然后,在`vue.config.js`文件中进行如下配置: ```javascript module.exports = { publicPath: '/二级目录名称/' } ``` 其中,`二级目录名称`即你希望应用部署在的二级目录的名称,例如如果希望部署在`www.example.com/myapp/`下,则`二级目录名称`应为`myapp`。 接下来,在路由配置文件中,通常是`src/router/index.js`文件中,需要设置`base`选项,指定应用的基础 URL。 ```javascript import Vue from 'vue' import Router from 'vue-router' import Home from '@/views/Home.vue' Vue.use(Router) export default new Router({ mode: 'history', base: '/二级目录名称/', routes: [ { path: '/', name: 'Home', component: Home } ] }) ``` 在这里,将`mode`设置为`history`,表示使用history模式;将`base`设置为`'/二级目录名称/'`,与之前的配置保持一致。 这样,在部署项目时,将整个项目文件夹拷贝至服务器的二级目录中,并配置好服务器的相关环境,就可以通过访问`www.example.com/二级目录名称/`来访问应用了。 需要注意的是,使用history模式需要服务器的支持,例如针对Apache服务器,需要配置`mod_rewrite`模块,以确保应用能够正确处理路由。如果你使用的是其他类型的服务器,可以查阅相关文档来了解如何配置。 以上就是在vue2中使用路由history模式部署在二级目录中的方法。希望对你有帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值