由于amdefine

时间:2018-12-10 10:29:37

标签: node.js typescript amd

我正在使用v10.8.0和Typescript 3.2.1编写NodeJS应用

TS可以很好地生成JS代码,但是由于以下错误而无法执行该代码:

每个文件都不能多次调用

没有模块ID的定义

我可以看到该错误来自amdefine软件包,但实际上是由其他似乎使用AMD模块的软件包触发的。

我知道在有问题的代码中添加类似的内容即可解决问题:

  if (typeof define !== 'function') {
    var define = require('amdefine')(module)
}

但是我显然不能编辑第三方代码。

是否有更好的方法使Node与AMD模块配合使用?

TS目标是ES2016,它使用commonjs模块。以前效果很好。但是现在我有了这些基于AMD的依赖关系,一切都坏了。

任何帮助将不胜感激!

先谢谢了。

1 个答案:

答案 0 :(得分:0)

已解决。

Amdefine具有拦截功能,可将上述代码自动添加到所有AMD模块中。这是实验性的,但似乎可行。

require('amdefine/intercept');

有关此here

的更多信息