我正在做一個以 Vue 2 作為前端的 Adonis v5 應用程式。我的問題是,一旦我將 Vue 前端構建到公共 adonis 檔案夾中。如果我訪問將其寫入頂級瀏覽器搜索器的特定路由,我會從 Adonis 獲得 E_ROUTE_NOT_FOUND。
我確實認為 adonis 正在嘗試將路由搜索到服務器的路由器而不是 Vue 路由器。雖然 adonis 它被配置為使用靜態檔案并且第一個前端頁面有效:
Vue路由器.js:
Vue.use(VueRouter);
const routes = [
{
path: "/",
redirect: { name: "acceso" },
},
{
path: "/acceso",
name: "acceso",
component: SignupView,
meta: { guestAllow: true },
}];
const router = new VueRouter({
mode: "history",
routes,
});
Adonis routes.ts (它不應該因為有前綴而影響:
Route.group(() => {
Route.group(() => {
Route.post("register", "AuthController.register");
Route.post("login", "AuthController.login");
}).prefix("auth");
Route.group(() => {
Route.get("logs", "LogsController.index");
}).middleware("auth:api");
}).prefix("/api");
阿多尼斯靜態.ts:
import { AssetsConfig } from '@ioc:Adonis/Core/Static'
const staticConfig: AssetsConfig = {
enabled: true,
dotFiles: 'ignore',
etag: true,
lastModified: true,
maxAge: 0,
immutable: false,
}
如果我在瀏覽器上寫 localhost:3333 我會重定向到 /access (正確)
但是如果我重繪 頁面,或手動瀏覽相同的路線,錯誤顯示
知道會是什么嗎?感謝您的時間。
uj5u.com熱心網友回復:
在互聯網上查看其他一些專案后,我發現如果您mode: "history"在 vue-router 上使用它會彈出錯誤。
所以我試圖評論這一行,現在我可以重繪 頁面而不會E_ROUTE_NOT_FOUND出錯。
前端 Vue router.js:
const router = new Router({
//mode: "history",
routes,
});
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/484201.html
標籤:javascript Vue.js Vue路由器 阿多尼斯.js
