首页 文章

由于amdefine,Typescript生成的代码无法运行

提问于
浏览
0

我正在使用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 回答

  • 0

    解决了 .

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

    require('amdefine/intercept');
    

    更多信息here

相关问题