【发布时间】:2018-05-15 03:48:03
【问题描述】:
我有这种情况。它们之所以是动态的,是为了防止加载 10 倍于执行某个命令行任务所需的代码量。
if (diagnostics) {
require('./lib/cli-commands/run-diagnostics').run(sumanOpts);
}
else if (script) {
require('./lib/cli-commands/run-scripts').run(sumanConfig, sumanOpts);
}
else if (tscMultiWatch) {
require('./lib/cli-commands/run-tscmultiwatch').run(sumanOpts);
}
else if (repair) {
require('./lib/cli-commands/run-repair').run(sumanOpts);
}
else if (postinstall) {
require('./lib/cli-commands/postinstall').run(sumanOpts);
}
else{
// etc etc
}
如果我尝试动态加载导入调用,我会得到:
它显然会返回 Promise 而不是 module.exports 值。
有没有办法在不异步加载的情况下使用动态导入语法?
【问题讨论】:
-
基本上我在寻找“同步动态导入”而不是“异步动态导入”
-
你有没有观察到仅仅包含所有这些实际上会影响性能?
-
@JLRishe 会有一个命中,无论多么小,它都会加载很多文件,并可能记录我不想记录的内容,等等。
标签: node.js typescript typescript2.0