ES6 将模块导入为对象

vsy*_*ync 5 javascript ecmascript-6

我正在使用这个 GULP 插件,它将 HTML 文件转换为 ES6 导出,这样我就可以将它们加载到我的 MVC 中的浏览器上(使用rollup捆绑器)。

基本上我有作为模块导出的页面控制器。

然后,在我的主 JS 文件中,我只需一个一个地导入所有页面控制器,如下所示(简化):

import * as page__home from './pages/page1';
import * as page__home from './pages/page2';
...
Run Code Online (Sandbox Code Playgroud)

由于这是一个SPA,我认为以某种方式将所有页面控制器导入到某个对象中会更容易,因此当要调用控制器时,我可以检查该名称是否存在于包含所有导入控制器的对象中, 或类似的东西。

或者也许有一种方法可以检查模块是否以某种方式导入?有没有更聪明的方法来做到这一点?谢谢

Pau*_*tte 2

如上所述:

我想我实际上明白了,我将使用 gulp 组合所有控制器文件,然后导入该文件,并且所有文件都将位于该命名空间下,就像这样 import * as pages from './pages/bundle'; 然后我可以检查 if(pages["xxx"])