typescript - Angular2 ts dosyasını derle
Typescript kullanarak Angular2 deniyorum, ama tsc ile ilgili bir sorunum var.
Bu benim tsconfig.json dosyam:
{
"compilerOptions": {
"module": "commonjs",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"out": "compiled.js",
"emitDecoratorMetadata":true,
"target":"es5"
},
"files": [
"ts/_base/_all.ts"
]
}
Bu benim _all.ts dosyam:
///<reference path="./typings/libs.d.ts"/>
///<reference path="../app.ts"/>
///<reference path="../controllers/loginCtrl.ts"/>
Ve bu benim uygulama denetleyicim:
import {Component, View, bootstrap} from 'angular2/angular2';
@Component({
selector: 'my-app'
})
@View({
template: `Hi`
})
class MyAppComponent
{
constructor()
{
}
}
bootstrap(MyAppComponent);
Normalde tsc çalıştırdığımda tek bir çıktı dosyası (compiled.js) alıyorum, ancak angular2 kullanırken her ts dosyası için bir .js dosyası alıyorum (yani tsc çıktıyı birleştirmiyor)...
Sorunun import ifadesi kullanıldığında mevcut olduğunu fark ettim:
import {Component, View, bootstrap} from 'angular2/angular2';
Bu satırı atladığınızda, çıktı doğru şekilde birleştiriliyor (ama import olmadan modülü kullanamıyorum).
Ben neyi yanlış yapıyorum?
Cevap #1
Normalde tsc çalıştırdığımda tek bir çıktı dosyası alıyorum (compiled.js), ama angular2 kullanırken her ts dosyası için bir .js dosyası alıyorum (yani tsc çıktıyı birleştirmiyor)...
Bunun nedeni burada import kullanıyor olmanızdır: import {Component, View, bootstrap} from 'angular2/angular2'; Bu, kodunuzu bir dış modül haline getirir (daha fazlası: https://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1).
Not: Her halükarda --out yerine harici modülleri tavsiye ediyorum :https://github.com/TypeStrong/atom-typescript/blob/master/docs/out.md
Cevap #2
Angular2 tür tanımlarını yüklediniz mi?
tsd install angular2 --save
