VUE3路由访问的一个问题?
一个项目,放在服务器的二级目录workerlog下
路由设置如下:
const router = createRouter({ history: createWebHistory('/workerlog/'),
routes //上面的路由数组
})
vite.config.js
// 静态资源基础路径 base: './' || '', base: process.env.NODE_ENV === 'production' ? '/workerlog/' : '/',
又在该二级目录下新建文件.htaccess
<IfModule mod_rewrite.c> RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /workerlog/index.html [L]
</IfModule>
目前项目可以正常访问,但是如果分享给朋友网址:https://www.xxx.cn/workerlog
是可以访问的;但是如果分享的是项目中某一页https://www.xxx.cn/workerlog/user,就报错了找不到该页。请问这个问题需要在哪找原因?
回答:
base: process.env.NODE_ENV === 'production' ? '/workerlog/' : '/',
这一条,你需要确定你在部署阶段有 process.env.NODE_ENV并等于production
不然的话,你就直接指定 base:'/workerlog/' 吧,开发阶段也没有多大影响
Apache如以下配置
RewriteCond %{REQUEST_URI} ^/(workerlog|workerlog/.*)$ RewriteRule ^/workerlog/index\.html$ - [L,NC]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(workerlog|workerlog/.*)$ workerlog/index.html [L]
试试这样
具体看https://www.zhihu.com/question/46630687/answer/157166318 最后一段
几年前写的了,有的东西和现在不一样了,但是Apache配置没有变。我现在的项目也用VUE3,还是可以用的
本文参与了SegmentFault 思否面试闯关挑战赛,欢迎正在阅读的你也加入。
以上是 VUE3路由访问的一个问题? 的全部内容, 来源链接: utcz.com/p/933948.html