无法使用tsc编译的构建版本

时间:2016-02-24 09:49:11

标签: build typescript angular out tsc

我正在将所有文件的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):错误TS4053:来自导出类的公共方法的返回类型具有或正在使用来自外部模块的名称'Observable'“c:/ git / projects / edureka / yeo / 2 / node_modules / rxjs / Observable“但无法命名。

更新:现在1.82稳定版。

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

2 个答案:

答案 0 :(得分:2)

您已加载捆绑文件:

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

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

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

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

System.import('client/bootstrap')

(或其在您的论坛all.js中注册的任何名称......)

答案 1 :(得分:0)

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

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

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