前端這個方向,對於新事物的接受能力和速度決定了你在整個行業的位置。
ng2還沒有發布官方穩定版本,但是我覺得對於我來說這個時候是最好的蓄力時機,於是開始了ng2的學習之路。
接觸ng2之前也接觸過一個avalon的東西,但是不知道是不是哪裡相剋,就是不順利,後來想想,都是大同小異,不如學學更具參考性的ng2.
ng2支援typescript和es5,6開發,當然官方文檔目前只有ts的,為了更快的上手,不得不先用ts寫,於是就有一個問題就是:編譯。
構建工具是gulp,於是開始找gulp上編譯ts的外掛程式,到是有一些,本以為不會走什麼岔路,偏偏這種地方被纏了段時間。看樣子我是真的需要多磨練磨練啊。
進入正題:
最終選用的ts編譯外掛程式:gulp-typescript 。
官方說明很詳細,不多贅述,主要幾個細節:
1:定義模組載入機制
"module": "commonjs"
gulp是node下的構建工具,所以模組載入機制也採用node的機制,否則會提示如下的錯誤
error TS1148: Cannot compile modules unless the '--module' flag is provided. error TS2307: Cannot find module 'angular2/angular2'. error TS2307: Cannot find module 'angular2/http'.
2:定義編譯目標類型
"target": "es5"
把ts轉換成es5標準的檔案,node提示可以更高版本,但是實際操作實驗並不可行。
3:避免警告
"experimentalDecorators": true
此項不配置,會提示警告,導致編譯不成功
error TS1219: Experimental support for decorators is a feature that is subject to change in a future release. Specify '--experimentalDecorators' to remove this warning.