首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >for-of-循环中的ES6导入

for-of-循环中的ES6导入
EN

Stack Overflow用户
提问于 2017-09-16 19:05:58
回答 3查看 12.6K关注 0票数 15

有没有办法在ES6中使用for-of-loop (或另一个循环)来导入和导出多个文件?

代码语言:javascript
复制
const moduleNames = ['NumberUtils', 'StringUtils', 'ArrayUtils', 'MyModule', 'AnotherModule', 'BaseModule']

let modules = {}

for (const moduleName of moduleNames) {
    import module from './' + moduleName
    modules.moduleName = module
}

export modules

如果没有循环,我必须写:

代码语言:javascript
复制
import NumberUtils from './NumberUtils'
import StringUtils from './StringUtils'
import ArrayUtils from './ArrayUtils'
import MyModule from './MyModule'
import AnotherModule from './AnotherModule'
import BaseModule from './BaseModule'

export {
    NumberUtils,
    StringUtils
    ArrayUtils
    MyModule
    AnotherModule
    BaseModule
}
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-10-08 21:34:48

对于多个导入文件,我找到了这个解决方案:

代码语言:javascript
复制
const files = require.context('../myFolder', true, /(Module|Utils)\.js$/)
票数 6
EN

Stack Overflow用户

发布于 2017-09-16 19:15:10

ES模块的主要特点之一是可以进行静态分析。因此,import语句遵循strict syntax - export也是如此。一个“没有循环”的代码片段是它必须完成的方式。

这允许在IDE和工具中准确地确定模块的导入和导出。例如,这对于摇动树木很有用。

票数 12
EN

Stack Overflow用户

发布于 2017-09-16 19:17:04

我认为更好、更清晰的方法是创建一个索引文件,然后在一次导入中导入多个组件。

代码语言:javascript
复制
//index.js
import PopUp from './PopUp';
import ToggleSwitch from './ToggleSwitch';

export {
  PopUp,
  ToggleSwitch
};

//app.js

import { PopUp, ToggleSwitch } from './components';
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46253183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档