javascript – 带有TypeScript的Angularjs 2:ReferenceError:系统未定义System.config

前端之家收集整理的这篇文章主要介绍了javascript – 带有TypeScript的Angularjs 2:ReferenceError:系统未定义System.config前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我尝试根据本教程安装适用于TypeScript的AngularJS 2: https://angular.io/guide/quickstart

而我收到此错误

ReferenceError: System is not defined System.config

我不知道这是怎么发生的.

文件夹结构:

project
|-index.hml
|-assets
    |-js
    |- jquery
    |-app
       |-app.component.js
       |-app.component.ts
       |-app.component.js.map
       |-main.js
       |-main.ts
       |-main.js.map

解决方法

您需要将SystemJS包含在HTML页面中.要从node_modules文件夹中使用Angular2应用程序,至少需要:
<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
<script src="node_modules/systemjs/dist/system.src.js"></script> <!---
<script src="node_modules/rxjs/bundles/Rx.js"></script>
<script src="node_modules/angular2/bundles/angular2.dev.js"></script>

并配置SystemJS以加载已编译的TypeScript(实际上是带有js扩展名的JavaScript).像这样的东西:

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

此配置意味着当您尝试导入以app /开头的某些模块时,SystemJS将加载相应的JS文件(从TypeScript编译).例如:System.import(‘app / main’);将加载app / main.js文件.

这意味着您需要先编译TypeScript文件.启动npm run start命令时,tsc编译器会在后台自动启动,并在检测到更改时将TypeScript文件编译为JS文件.您可以检查编译器是否已实际启动并且您已创建JS文件

猜你在找的JavaScript相关文章