1

我在我的项目中使用 angular 2 和 typescript (V-1.8)。我已将 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

在 index.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

因此应用程序无法加载。我不知道这是 angular 2 错误、语法错误还是其他任何错误。如果我为每个 .ts 文件生成单独的 .js 文件并将 index.html 修改为

<script>
   System.config({
      packages: {
        app: {
          format: 'register',
          defaultExtension: 'js'
        }
      }
    });

    System.import('app/boot').then(null, console.error.bind(console));
  </script>

应用程序工作正常。请帮助我了解 single.js 案例中出了什么问题。

提前致谢。

4

1 回答 1

0

检查这个 github 线程:https ://github.com/angular/angular/issues/6468

为了您的方便,用户sicaner建议:

我通过添加 declare var Promise: PromiseConstructor; 来解决这个问题 在 promise.d.ts 之上

由于此问题已关闭,因此在修改之前promise.d.ts您可以尝试更新 Angular 版本 - 也许修复程序已经存在。

于 2016-02-28T09:03:30.820 回答