fix(ssr): добавить route mixin для SSR совместимости Ziggy
- Создан RouteMixin.js для предоставления route() всем компонентам - Обновлён ssr.js с правильным импортом Router и созданием route функции - Исправлен BackButton.vue с проверкой this.route перед использованием - Добавлена обработка ошибок для route() с fallback на '#' Решает ошибку: ReferenceError: route is not defined at Proxy.resolvedLink Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
/**
|
||||
* SSR-safe route mixin
|
||||
* Provides the route() function to all Vue components during SSR
|
||||
*/
|
||||
|
||||
export function createRouteMixin(pageProps, RouterClass) {
|
||||
return {
|
||||
methods: {
|
||||
route(name, params = {}, absolute = false) {
|
||||
try {
|
||||
const ziggyConfig = {
|
||||
...pageProps.ziggy,
|
||||
location: pageProps.ziggy?.location
|
||||
? new URL(pageProps.ziggy.location)
|
||||
: new URL(process.env.APP_URL || 'http://localhost'),
|
||||
};
|
||||
|
||||
const router = new RouterClass(name, params, absolute, ziggyConfig);
|
||||
return router.toString();
|
||||
} catch (error) {
|
||||
console.error('Ziggy route error:', error.message);
|
||||
return '#';
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user