AngularJs 2 在将所有打字稿文件输出生成到单个 js 文件时无法启动



我在项目中使用带有打字稿(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之前,您可以尝试更新角度版本 - 也许修复程序已经存在。

相关内容

  • 没有找到相关文章

最新更新