gpt4 book ai didi

javascript - defineAsyncComponent 中的 ES6 命名导入

转载 作者:行者123 更新时间:2023-12-05 04:46:58 26 4
gpt4 key购买 nike

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

这是旧的导入:

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"
),
...
},
...

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

最佳答案

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

import() 返回模块导出的 promise 。应该是:

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

Tree shaking 对于动态导入的模块是禁用的,需要为打包器进行注释,例如Webpack .

关于javascript - defineAsyncComponent 中的 ES6 命名导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68664491/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com