我正在尝试使用所有新工具(jspm 0.17.0-beta.40)搭建Angular 2应用程序。
我将转换为System
模块。这是我的tsconfig.json
文件:
{
"compileOnSave": false,
"compilerOptions": {
"target": "ES5",
"module": "System",
"moduleResolution": "Node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"noImplicitAny": true,
"rootDir": "../"
}
}
问题出在 ES6 的
import
上。在类似这样的代码被转译后:import { Component, ViewEncapsulation, AfterViewInit } from '@angular/core';
这个的用途是:
core_1.Component
但不幸的是,运行该应用程序的浏览器无法识别它。
"TypeError: core_1.Component is not a function
at Object.execute (...app/app.component.js:32:24)
at E (...jspm_packages/system.js:4:7541)
at S (...jspm_packages/system.js:4:6746)
at S (...jspm_packages/system.js:4:6646)
at S (...jspm_packages/system.js:4:6646)
at x (...jspm_packages/system.js:4:6102)
at ...jspm_packages/system.js:5:6612"
当我使用ViewEncapsulation
时,会出现同样类型的错误。
这是在转换为System
模块时发生的。
使用CommonJS
模块进行转换可以正常工作(应用程序通过了此步骤)。
但我不能使用它,因为我使用了
import html from './app.component.html';
使用以下
meta
配置:meta: {
"*.html": {
"loader": "text"
},
}
这个操作失败并显示以下错误:
Error: No template specified for component AppComponent
我已经尝试切换JSPM和System的版本了。
显然,0.20版System引入的更改导致了这个问题。
有什么建议可以解决这个问题吗?
System
,并从节点github.com/dima-gusyatiner/system-0.20-angular-2安装模块时,它可以正常工作。然而,如果我通过jspm
安装angular,则无法正常工作github.com/dima-gusyatiner/system-0.20-jspm-0.17-angular-2。 - Dimdum