2

我正在将所有文件的 ts 版本构建到一个文件中并尝试使用它。但它不适用于那个。正常的工作。这是tsconfig:

 "compilerOptions": {
    "target": "ES5",
    "module": "system",
    "moduleResolution": "node",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "removeComments": false,
    "noImplicitAny": false,
    "declaration": true,
"outDir":"client/build/",
"outFile": "all.js"
  },

html 加载 all.js 和系统导入。

<script src="client/build/all.js"></script>
<!-- 2. Configure SystemJS and Import -->
<script>
    System.config({
    packages: {        
      client: {
        format: 'register',
        defaultExtension: 'js'
      }
    }
  });
  System.import('client/build/all')
        .then(null, console.error.bind(console));
</script>

构建发生但无法加载到 index.html 文件中。还需要什么才能使其正常工作?其次是否有 tsc 的缩小?注意:已检查Typescript compile to single file

更新

刚刚升级到 Typescript 1.9dev 并出现错误:

[0] node_modules/angular2/src/facade/promise.d.ts(1,10):错误 TS2661:无法重新导出未在模块中定义的名称。[0] client/services/httpprovider.ts(13,5): error TS4053: Return type of public method from export class has or is using name 'Observable' from external module "c:/git/projects/edureka/yeo/ 2/node_modules/rxjs/Observable”但无法命名。

更新:现在是 1.82 稳定版。

更新更新:使用捆绑配置定义(检查 Sasxa 的评论) - https://github.com/systemjs/systemjs/blob/master/docs/production-workflows.md

4

2 回答 2

2

您已经加载了捆绑文件:

<script src="client/build/all.js"></script>

您不必使用 SystemJS 再次导入它们。

// System.import('client/build/all')

相反,您应该导入引导文件:

System.import('client/bootstrap')

(或它在您的捆绑包中注册的任何名称all.js......)

于 2016-02-24T11:03:55.447 回答
0

从网上下载 MVC Angular2 示例解决方案后,我刚刚遇到了这个错误:

node_modules/angular2/src/facade/promise.d.ts(1,10):错误 TS2661:无法重新导出模块中未定义的名称。[0]

根本原因是 Angular 中存在错误。解决方案:在项目中的 Angular2 文件夹上运行 NPM 更新。

于 2016-04-11T00:51:58.000 回答