升级到Angular2时未定义系统

时间:2015-12-17 12:26:36

标签: angular

根据将angular1应用程序升级到angular2的官方guidelines,您需要包含system.src.js文件,然后像这样加载应用程序:

    System.config({
      packages: {'js': {defaultExtension: 'js'}}
    });
    System.import('/js/app.module');

这指向预期的app.module.ts文件,它是应用程序的主要组件。然而,这个代码甚至没有得到这么多,因为它抱怨:

Uncaught ReferenceError: System is not defined

这让我觉得它没有正确加载system.src.js文件。但是我尝试通过gulp加载它,它会将我的所有js文件放入一个文件中,即main.js - 没有成功,我试图单独包含它。

dist
    js
        main.js
        system.src.js

并为此版本添加脚本标记:

// Loaded before the import statement above so it's definitely there
%script{src: "js/system.src.js", async: true}
%script{src: "js/main.js", async: true}

但这两种方式都不起作用。我甚至可以在开发窗口中看到它作为源文件,所以它就在那里 - 所以我错过了其他的东西吗?

由于

1 个答案:

答案 0 :(得分:2)

你检查过你的tsconfig吗?

{
  "compilerOptions": {
    "target": "ES5",
    "module": "system",
    "sourceMap": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "moduleResolution": "node",
    "removeComments": false,
    "noImplicitAny": true,
    "suppressImplicitAnyIndexErrors": true
  },
  "exclude": [
    "node_modules"
  ]
}