回文集目錄:JHipster一知半解
Angular
概述
近幾年,隨著微服務(wù)糖赔、前后端分離的理念逐步深入人心;作為頁面控制的核心語言(javasprit)也引來了最輝煌的時刻。一方面敞映,進行語言自身特性擴展(ES5沸伏、ES6糕珊、Typescript),逐步增強原始版本中過于隨意毅糟,作用域難以控制等缺陷红选,另一方面,進行框架化設(shè)計姆另,出現(xiàn)了React喇肋、Angular坟乾、Vue幾個流行的框架。
JHipster非常適合后端程序員轉(zhuǎn)型而作蝶防,它之前選擇的是AngularJs甚侣,之后也同步跟上Angular(感覺后端氣質(zhì),依賴注入间学,模塊劃分殷费、裝飾器等)。
Typesript
看官網(wǎng)即可菱鸥,JS語法超集宗兼,當(dāng)做手冊翻
tslint.json
定義:TSLint is an extensible static analysis tool that checks TypeScript code for readability, maintainability, and functionality errors。
也就是說氮采,它是一個靜態(tài)的代碼分析工具殷绍,用來檢查TypeScript編寫是否符合規(guī)范,用來提高可讀性鹊漠,可維護性
要從jshint說起了主到,畢竟js是一個畢竟是寬松的語言,好處是寫起來快躯概,壞處是改起來苦登钥。然而這個世界并沒有一次寫完,就很完備娶靡,永遠不會修改的代碼牧牢。于是出現(xiàn)了jshint,告訴代碼分析工具(主要是編輯器姿锭,如Webstorm,Vs code等)塔鳍,需要幫我檢查我寫的js,如果有什么不規(guī)范的地方給我標(biāo)出來呻此,保證我寫的代碼質(zhì)量高轮纫。
到了Typescript這,由于有向下兼容的特性焚鲜,隨便寫還是可能的掌唾,但是這樣就失去了Typescript良好的封裝性。于是也順理成章出來tslint忿磅,用來檢查.ts文件糯彬。
那么具體按照什么標(biāo)準(zhǔn)檢查呢,就需要tslint.json作為說明書葱她,傳達我們需要檢測的規(guī)則標(biāo)準(zhǔn)撩扒。
tslint.json里面主要就是rulesDirectory和rules兩塊,具體可自行查看览效,這里就不在贅述了却舀。(教科書般的配置虫几,可直接copy到任何工程)
tsconfig.json 和 tsconfig-aot.json
本質(zhì)上ts文件是需要編譯成js才能真正在瀏覽器上運行的,這兩個是Typescript編譯器的配置文件挽拔,指定了用來編譯這個項目的根文件和編譯選項辆脸,告訴tsc命令怎么編譯ts。
通過對比可以看出螃诅,aot(生產(chǎn)環(huán)境)編譯的LIB就是ES5啡氢,當(dāng)前瀏覽器都支持的語言,而普通版本就更為高版本一些术裸,而且還同步生成sourcemap倘是,便于進行開發(fā)調(diào)試。
值得注意的是袭艺,這兩個也是可以復(fù)用到其他項目的搀崭,需要根據(jù)自己項目組織情況,修改inclue和exclude目錄位置
(詳細說明在Type官網(wǎng)的tsconfig.json節(jié))
Angular-cli
ng help查看猾编,ng工程的創(chuàng)建瘤睹,構(gòu)建,編譯答倡,測試轰传,運行全生命周期管理。當(dāng)然我們用jhipster瘪撇,它已經(jīng)封裝了一部分功能了获茬。
.angular-cli.json
由angular-cli記錄的配置信息,運行ng命令會先讀取其中配置倔既,例如ng test就會讀取其中“test”節(jié)恕曲。既然是加.在開頭的,理論上就不是給開發(fā)者編輯的(當(dāng)然事實并非如此)叉存。不過jhipster前端本身并不是嚴(yán)格的ng工程码俩,script里面也沒有
使用ng命令的地方度帮,這個文件可以忽略歼捏。。
現(xiàn)在笨篷,Angular現(xiàn)在教程挺多的瞳秽,看書,看官網(wǎng)
資源和書籍推薦
強烈推薦區(qū)
TypeScript官網(wǎng)
https://www.tslang.cn/angular官網(wǎng)
https://angular.cn/Angular權(quán)威教程
https://item.jd.com/12176534.html
https://pan.baidu.com/s/1eSbCURK 密碼:ans1Angular 4.x 修仙之路
https://segmentfault.com/a/1190000008754631Angular2 從0到1 (一)
https://item.jd.com/12059091.html
http://www.reibang.com/p/9af9f203e0b1
參考區(qū)
tslint 官網(wǎng)
https://palantir.github.io/tslint/Learning Typescript-讀書筆記
http://www.reibang.com/u/a76565e2af90