Laravel/Vite/Inertiajs 似乎无法从子目录(在我的页面文件夹中)导入页面
P粉674876385
P粉674876385 2023-12-26 20:43:16
[Vue.js讨论组]

当我将 Register 页面放入页面文件夹中时,如下所示:

/pages
   - Register.vue

然后一切正常并且页面加载,但是当我将 Register 页面放入 auth 文件夹中时,如下所示:

/pages
   /auth
      - Register.vue

它不起作用,这是我打开控制台时看到的错误:

dynamic-import-helper:7 Uncaught (in promise) Error: Unknown variable dynamic import: ./pages/auth/Register.vue
    at dynamic-import-helper:7:96
    at new Promise ()
    at default (dynamic-import-helper:6:12)
    at resolve (app.js:5:22)
    at e2.h2 [as resolveComponent] (createInertiaApp.js:8:52)
    at n2.setPage (router.ts:378:33)
    at router.ts:323:19

有人知道为什么这不起作用吗?

这是我的 vite.config.js 代码:

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import vue from '@vitejs/plugin-vue';

export default defineConfig({
    plugins: [
        vue(),
        laravel({
            input: ['resources/css/app.css', 'resources/js/app.js'],
            refresh: true,
        }),
    ],
});

这是我的 app.js 代码:

import {createApp, h} from 'vue';
import {createInertiaApp} from "@inertiajs/inertia-vue3";

createInertiaApp({
    resolve: name => import(`./pages/${name}.vue`),
    setup({el, app, props, plugin}) {
        createApp({render: () => h(app, props)})
            .use(plugin)
            .mount(el)
    }
});

我尝试将 ${name} 更改为仅身份验证/注册,然后它就可以工作了?但这并不是真正的解决方案。

这是我调用的方法来呈现 Register 页面:

public function register(): Response|ResponseFactory
{
    return Inertia::render('auth/Register');
}

P粉674876385
P粉674876385

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号