【发布时间】:2016-10-11 23:23:34
【问题描述】:
是ES2015+,如何动态导入模块?
例如而不是...
import {SomeClass} from 'lib/whatever/some-class';
我不知道运行时的路径,所以我想将路径存储在一个变量中,并且我想从该模块导入一个特定的东西:
function doDynamicStuff(path) {
let importedThing = ...; //import * as importedThing from path;
let thingIReallyWant = importedThing.someExportedVariable;
...
}
我不确定要使用什么语法,或者是否可以这样做。我尝试使用let importedThing = require(path);,但我们没有使用RequireJS。
【问题讨论】:
-
@PHPglue ES6 模块不是 Node.js 独有的。它们还没有浏览器内语义,但浏览器构建系统已经在使用它们。
-
不知道类名还是不知道路径?还是两者兼而有之?
-
@PHPglue 我们没有使用
node,我们使用的是Aurelia。 -
@FelixKling 我知道路径和类名(总是相同的类名,只是来自动态模块/路径)。
标签: javascript import ecmascript-6