我目前正在從AngularJS背景來看Angular2的過程。在這個問題上,我也在研究SystemJS和Typescript。
但是,我有一個問題讓Angular2運行使用Typescript typings和SystemJS。使用Typescript沒有任何類型的按預期工作,但只要我嘗試從Angular2打字加載任何模塊,SystemJS似乎無法解決它。
從我讀過的,類型與angular2.dev.js一起發貨,所以只要我導入,我應該罰款?
該錯誤與https://github.com/systemjs/systemjs/issues/610有一些相似之處,但不幸的是他的解決方案並不適合我。SystemJS腳本打字衝突
不幸的是,我對SystemJS以及Typescript的體驗是空的,我只是試圖建立一個系統來學習。所有的庫都是最新的,並且剛安裝了npm。生成的版本由NodeJS express服務器託管,而Typescript文件及其類型不是。
我得到的錯誤是:
GET http://localhost:8000/angular2/angular2 404 (Not Found)
這裏是我的 '的index.html' 頭提取物:
<head>
<script src="assets/js/lib/traceur.js"></script>
<script src="assets/js/lib/system.src.js"></script>
<script src="assets/js/lib/Rx.js"></script>
<script src="assets/js/lib/angular2.dev.js"></script>
<script>
System.config({
packages: {
assets: {
format: 'register',
defaultExtension: 'js'
},
}
});
System.import('assets/js/boot')
.then(null, console.error.bind(console));
</script>
</head>
的boot.ts Typescript-文件(我只添加了bootstrap(),這樣angular2實際上包含在編譯中):
import { bootstrap } from 'angular2/angular2';
bootstrap();
console.log('test');
和TSC編譯後生成的boot.js:
System.register(['angular2/angular2'], function(exports_1) {
var angular2_1;
return {
setters:[
function (angular2_1_1) {
angular2_1 = angular2_1_1;
}],
execute: function() {
angular2_1.bootstrap();
console.log('test');
}
}
});
//# sourceMappingURL=boot.js.map
tsdconfig.json:
{
"compilerOptions": {
"target": "ES5",
"module": "system",
"moduleResolution": "node",
"sourceMap": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"removeComments": true,
"noImplicitAny": false
},
"exclude": [
"node_modules"
]
}
任何幫助表示讚賞了很多,有自己的一些好的假期! :)
使用'從'angular2/platform/browser'導入{bootstrap};' –