我正在使用v10.8.0和Typescript 3.2.1编写NodeJS应用程序
TS生成JS代码很好,但由于以下错误,代码无法执行:
amdefine with no module ID cannot be called more than once per file
我可以看到错误来自amdefine包,但它实际上是由似乎使用AMD模块的其他包触发的 .
我知道在问题代码中添加这样的东西可以解决这个问题:
if (typeof define !== 'function') {
var define = require('amdefine')(module)
}
但我显然无法编辑第三方代码..
有没有更好的方法使Node与AMD模块一起工作?
TS目标是ES2016,它使用commonjs模块 . 这之前工作得很好 . 但是现在我已经拥有了这些基于AMD的依赖项,一切都被打破了 .
任何帮助,将不胜感激!
提前致谢 .
1 回答
解决了 .
Amdefine具有拦截功能,可自动将上述代码添加到所有AMD模块 . 这是实验性的,但似乎有效 .
更多信息here