我在项目中使用带有打字稿(V-1.8)的角度2。我已经配置了我的 tsconfig 以将输出生成到单个.js文件中。此文件还具有引导应用程序的代码,因为boot.ts文件也会.js文件中转译。我的申请结构如下。
Root
|_app
| | |__Module1
| | |_a.ts
| | |_b.ts
| |__Module2
| |___|_xyz.ts
| |
| |_Boot.ts
|_Js
| |_Deployment
| |_single.js
|_index.html
|_package.json
|_tsconfig.json
在索引中.html我添加了
<script type="text/javascript" src="js/Deployment/single.js"></script>
<!-- 2. Configure SystemJS -->
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('js/Deployment/single').then(null, console.error.bind(console));
</script>
在 Single 内部生成的代码中.js看起来不错。在节点命令提示符下,我看到了下图所示的错误。
Ts 错误 2661
因此,应用程序无法加载。我不知道这是否是角度 2 错误、语法错误或其他任何东西。如果我为每个 .ts 文件生成单独的.js文件并修改索引.html则为
<script>
System.config({
packages: {
app: {
format: 'register',
defaultExtension: 'js'
}
}
});
System.import('app/boot').then(null, console.error.bind(console));
</script>
应用程序工作正常。请帮助我了解在单一.js情况下出了什么问题。
提前谢谢。
检查这个 github 线程:https://github.com/angular/angular/issues/6468
为了您的方便,用户建议:
我通过添加声明 var 承诺来解决这个问题: 承诺构造函数;在承诺之巅。
由于此问题已关闭,因此在修改promise.d.ts
之前,您可以尝试更新角度版本 - 也许修复程序已经存在。