得到TypeScript生成命名的寄存器,而不是匿名寄存器
问题描述:
我正在使用Angular2与SystemJS。得到TypeScript生成命名的寄存器,而不是匿名寄存器
...
System.register([], [...deps...], ...); //Generated by TypeScript compiler
System.register('myModule', [...deps...], ...); //How to do this?
...
这是捆绑的目的:我碰到这下来到打字稿编译器生成匿名的寄存器,而不是命名寄存器事实的几个问题跑了。我喜欢做Angular2已经为我自己的组件做的事情。在一个缩小文件中放入多个System.register
调用,然后导入根组件。
如何做到这一点?
答
您需要在文件名中设置TypeScript编译器配置(即tsconfig.json)中的“outFile”属性。
在这种情况下,所有模块将被编译成单个文件(指定的一个),它们将被命名为不是匿名模块。
+1
绝对正确。有趣的是,TypeScript编译器仅在存在'--outFile'的情况下才能识别变化。 – RoninCoder
你如何编译你的源代码?我会继续寻找,因为我也很好奇。我还没有找到具体的东西,但是如果使用tsc命令,我不认为这是可能的。 –
很高兴'tsc'不可能,因为那是节点引擎编译它。我使用具有内置编译器的Visual Studio。这不会有什么不同,因为这两个编译器都使用tsconfig.json或MSBuild设置。编译器选项似乎没有这样的选项:https://www.typescriptlang.org/docs/handbook/compiler-options.html – RoninCoder