在defineAsyncComponent 中的ES6 命名导入

SPQR公司

我想异步加载我的网络应用程序的一些元素:

这是旧的导入:

import {Popover, PopoverButton, PopoverPanel} from '@headlessui/vue'

export default {
    components: {
        Popover,
        PopoverButton,
        PopoverPanel,
    },
...

现在我想这样做:

import {defineAsyncComponent} from "vue";

export default {
    components: {
        Popover: defineAsyncComponent(() =>
            import( {Popover} from "@headlessui/vue" ) // This does not work as I get the error " ')' expected"
        ),
        ...
    },
...

知道我如何解决这个问题吗?

这将是烧瓶

静态import是一个声明,不应该在任何地方使用,但在模块的顶部。Dynamicimport()是一个表达式,遵循表达式中使用的 JavaScript 语法。

import()返回模块导出的承诺。它应该是:

Popover: defineAsyncComponent(async () => {
 return (await import("@headlessui/vue")).Popover;
})

动态导入的模块禁用了摇树,需要为打包器进行注释,例如Webpack

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章