有没有办法在ES6中使用for-of-loop (或另一个循环)来导入和导出多个文件?
const moduleNames = ['NumberUtils', 'StringUtils', 'ArrayUtils', 'MyModule', 'AnotherModule', 'BaseModule']
let modules = {}
for (const moduleName of moduleNames) {
import module from './' + moduleName
modules.moduleName = module
}
export modules如果没有循环,我必须写:
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
}发布于 2017-10-08 21:34:48
对于多个导入文件,我找到了这个解决方案:
const files = require.context('../myFolder', true, /(Module|Utils)\.js$/)发布于 2017-09-16 19:15:10
ES模块的主要特点之一是可以进行静态分析。因此,import语句遵循strict syntax - export也是如此。一个“没有循环”的代码片段是它必须完成的方式。
这允许在IDE和工具中准确地确定模块的导入和导出。例如,这对于摇动树木很有用。
发布于 2017-09-16 19:17:04
我认为更好、更清晰的方法是创建一个索引文件,然后在一次导入中导入多个组件。
//index.js
import PopUp from './PopUp';
import ToggleSwitch from './ToggleSwitch';
export {
PopUp,
ToggleSwitch
};
//app.js
import { PopUp, ToggleSwitch } from './components';https://stackoverflow.com/questions/46253183
复制相似问题