首页 > 解决方案 > Mithril.js 中对 webpack 动态导入的异步函数支持?

问题描述

我试图弄清楚如何在 webpack 中使用动态导入和秘银。为了优雅地做到这一点,我想我需要在某个地方使用异步函数。现在这就是我使用异步函数的方式:

import m from 'mithril'

let App = async () => {
  let { Component } = await import('./components.js')
  return {
    view () {
      return m(Component)
    }
  }
}

App().then(app => m.mount(document.body, app))

理想情况下,我想像这样使用它:

import m from 'mithril'

let App = {
    async view () {
      let { Component } = await import('./components.js')
      return m(Component)
    }
  }
}

m.mount(document.body, App)

文档中是否缺少我想要做的事情?我试图查看每一次提到的承诺,但我可能错过了这一点。

任何帮助,将不胜感激。

标签: mithril.js

解决方案


一种可行的方法是:

async function main() {
    const myModule = await import('./myModule.js');

    const {export1, export2} = await import('./myModule.js');

    const [module1, module2, module3] =
        await Promise.all([
            import('./module1.js'),
            import('./module2.js'),
            import('./module3.js'),
        ]);
}
main();

(async () => {
    const myModule = await import('./myModule.js');
})();

欲了解更多信息,请点击以下链接。

ES 提案:import()——动态导入 ES 模块


推荐阅读