国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Angular4學(xué)習(xí)筆記之準(zhǔn)備和環(huán)境搭建項(xiàng)目

2019-11-19 15:55:57
字體:
供稿:網(wǎng)友

寫在前面的廢話1

我用angular的時(shí)候還是1.x,屬于代碼寫的很反人類但是angular2還沒出的蠻荒年代。我本身是從j2ee轉(zhuǎn)到Android的工程師,也是就是說,我的日常開發(fā)語言是Java。突然切換到JavaScript那真是難受的像北極熊同企鵝講話,更何況后來嫌webstorm太卡而用起了沒有提示的sublime(嗯,終于治好了多年頑疾的“從不記函數(shù)名癥候群”)。經(jīng)過了一段痛苦不堪的撞墻經(jīng)歷后,總算是開始習(xí)慣了。

但我還是想大吼一聲,JavaScriptWCNM。

發(fā)泄完了說正事。

現(xiàn)在前端的主要框架比較火的是React,Angular雖然背后是谷歌但還是差了那么一點(diǎn)。兩者我都用過,說一下我感覺的Angular的特點(diǎn),以及和React的不同。

首先直接拿Angular和React比較是不公平的。因?yàn)锳ngular是一個(gè)什么都有的全家桶,React只是MVC里的V,經(jīng)常需要搭配一些別的東西使用比如redux(我用的標(biāo)配是react+redux+router)。.

其次,Angular的特點(diǎn)是綁定,從寫代碼的角度上說比較符合MVC的概念。4.0里的component就相當(dāng)于C和V的合體,template或者templateUrl就是view,而class就是所謂的controller。通過在Controller里聲明唯一的Model在對(duì)應(yīng)的View里使用,達(dá)到解耦的目的。而且Angular還支持注入service,進(jìn)一步分離業(yè)務(wù)邏輯。

React的特點(diǎn)其實(shí)是虛擬dom,是提速性質(zhì)的東西。Redux才是邏輯相關(guān),通過唯一的state來解耦,你換state我換值。兩者的思路都是很相似的,個(gè)人感覺Redux里的Reducer就是Angular里的service。

第三,哪個(gè)更好一點(diǎn)?我個(gè)人還是喜歡React更多,當(dāng)然這個(gè)主觀因素占了很大的層面。寫Angular的時(shí)候我還是一副怨天尤人的Android程序員,寫React的時(shí)候就是已經(jīng)入門的前端開發(fā)者了。

寫在前面的廢話2

一些準(zhǔn)備工作,是必須的。

node,一切的基礎(chǔ)。

sublime,這個(gè)是我個(gè)人使用的ide。之前用過webstorm,但是要注冊(cè)而且多少有點(diǎn)慢。但是用sublime小缺點(diǎn)就是需要自己下插件,webstorm確實(shí)功能全一點(diǎn)….subime對(duì)React的支持還是蠻好的,但是對(duì)Angular的支持還是有點(diǎn)坑。當(dāng)然,也可能是我插件沒裝對(duì)。

git,本項(xiàng)目已經(jīng)提交到github。當(dāng)然,更新程度和我的懶惰程度成反比。其實(shí)這個(gè)項(xiàng)目我已經(jīng)完成了,但是因?yàn)槟撤N來自東方的神秘力量(直說了吧,就是手賤)又給刪掉了…

英文好,非必須。但是英文好可以直接去看angular的官方網(wǎng)站就,傳送門,翻墻的話速度快一些。Angular的中文版還停留在2.0,寫法和4.0略有不同。

當(dāng)然4.0和2.0其實(shí)也沒差多少,至少比2.0和1.x之間的差距要小的多(滾蛋吧scope)

廢話說完了,之所以有1有2沒有3,是因?yàn)槲矣X得很多時(shí)候我只要犯二就可以了。

先說需求-任何沒有需求的項(xiàng)目都是耍!流!氓!

需求很簡(jiǎn)單,也基本上是在模仿超級(jí)機(jī)器人大戰(zhàn)的整備頁面(沒錯(cuò)我是個(gè)鋼彈迷而且最近剛好正在玩機(jī)戰(zhàn)z)。

首先本項(xiàng)目包含3個(gè)頁面:

1 主頁

image 

上半部展示的是項(xiàng)目說明,下半部篩選出3個(gè)機(jī)體并進(jìn)行簡(jiǎn)單的說明。

2 機(jī)體列表頁

image

機(jī)體展示,展示所有擁有的機(jī)體,包括名稱和狀態(tài)(為了防止圖片侵權(quán),用的都是我自己做的高達(dá)模型)。

3 機(jī)體詳情頁

image

從主頁和詳情頁面點(diǎn)擊任意一部機(jī)體都可以跳轉(zhuǎn)到這個(gè)頁面,主要介紹機(jī)體的各項(xiàng)參數(shù),基本情況以及狀態(tài)。

環(huán)境搭建

首先要有node以及sublime,然后需要用sublime的package manager安裝插件typescript。

關(guān)于如何安裝node、sublime的包管理器并下載插件請(qǐng)參見之前文章里的方法。

其次,可以用sourceTree或者命令行克隆地址:

1)angular給的官方quickstart

https://github.com/angular/quickstart.git

2)我的改編后的版本,好處是集成了webpack和scss,缺點(diǎn)就是寫的比較亂而且不知道有什么坑。

https://github.com/stormrabbit/gundam-meister.git

第三,npm install 安裝各項(xiàng)依賴。

如果安裝失敗可以考慮用下cnpm

cnpm:

npm install -g cnpm --registry=http://r.cnpmjs.orgnpm install microtime --registry=http://r.cnpmjs.org --disturl=http://dist.cnpmjs.org

假裝安裝一下

image

運(yùn)行命令 npm start

image

目錄結(jié)構(gòu):

image

src/main.ts 項(xiàng)目的入口文件 暫時(shí)不需要修改

src/index.html 項(xiàng)目展示的html,容器,相當(dāng)于java的虛擬機(jī),標(biāo)簽是自定義的component的標(biāo)簽化。

src/app/app.module.ts 項(xiàng)目的配置文件,所用的component、注冊(cè)的service以及以后會(huì)有的routing等等都會(huì)注冊(cè)到這里。相當(dāng)于Android的mainfist.xml文件。

src/app/component/appcomponent/app.component.ts 項(xiàng)目的第一個(gè)容器,也是項(xiàng)目的正式入口。相當(dāng)于java中的main函數(shù),Android中的MainActivity。當(dāng)然也不是一定要叫這個(gè)名字,不過是一種約定俗成。其中template是html頁面,相當(dāng)于view,class相當(dāng)于controller。

訪問http://localhost:3000/,顯示頁面

image

環(huán)境搭建完畢,hello,world。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 通河县| 庄浪县| 鸡泽县| 平南县| 旺苍县| 同心县| 辛集市| 吉隆县| 曲阳县| 宣汉县| 梅河口市| 中卫市| 扎赉特旗| 唐海县| 韩城市| 铁岭市| 漯河市| 恩施市| 思南县| 桐城市| 潞西市| 咸宁市| 寿宁县| 任丘市| 高雄县| 巫山县| 潼关县| 泰安市| 大名县| 金湖县| 玉门市| 枣庄市| 冕宁县| 武穴市| 定边县| 阿图什市| 福海县| 贞丰县| 上杭县| 玉屏| 阿坝县|