相关疑难解决方法(0)

Vue + Vite + Rollup:动态导入不适用于生产构建

我正在尝试将 Vite 与动态导入Vue SFC一起使用,但它不适用于生产构建。

有 stackblitz 的例子:

https://stackblitz.com/edit/vitejs-vite-ant1g2?file=src/main.ts

测试命令和 localhost:3000 显示良好。

vite
Run Code Online (Sandbox Code Playgroud)

但是预览和 localhost:4173 显示空白。

vite build && vite preview
Run Code Online (Sandbox Code Playgroud)

怎么了?你有什么解决办法?

rollup vue.js rollupjs es6-modules vite

8
推荐指数
1
解决办法
1万
查看次数

vue vite动态组件导入

我正在将现有的 laravel ineria 从 mix 迁移到 vit。

我完成了迁移指南中的所有步骤,除了一件事之外,一切正常。

我有一个组件接收一个包含组件数组的道具。

我曾经这样要求它们(在循环内)

...

this.$options.components[component_name] = require(`@/Pages/Components/Inputs/${component_name}`).default

...
Run Code Online (Sandbox Code Playgroud)

由于“ require ”,这不适用于 vite,我必须将其替换为import

所以我尝试了这些方法,但没有一个有效

this.$options.components[component_name] = () => resolvePageComponent(`./Pages/Components/Inputs/${component_name}.vue`, import.meta.glob('./Pages/**/*.vue'))


this.$options.components[component_name] = () => resolvePageComponent(`@/Pages/Components/Inputs/${component_name}.vue`, import.meta.glob('./Pages/**/*.vue'))

this.$options.components[component_name] = resolvePageComponent(`./Pages/Components/Inputs/${component_name}.vue`, import.meta.glob('./Pages/**/*.vue'))

this.$options.components[component_name] = resolvePageComponent(`@/Pages/Components/Inputs/${component_name}.vue`, import.meta.glob('./Pages/**/*.vue'))
Run Code Online (Sandbox Code Playgroud)

他们都抛出相同的异常

"Uncaught (in promise) Error: Page not found: ./Pages/Components/Inputs/Text.vue".
Run Code Online (Sandbox Code Playgroud)

inertiajs laravel vue.js vuejs3 vite

5
推荐指数
1
解决办法
975
查看次数

标签 统计

vite ×2

vue.js ×2

es6-modules ×1

inertiajs ×1

laravel ×1

rollup ×1

rollupjs ×1

vuejs3 ×1