0.npm使用國內(nèi)的淘寶鏡像####
1)先安裝######
npm install -g cnpm --registry=https://registry.npm.taobao.org
2)使用阿里的CDN包管理######
cnpm install
11/11/2016 10:29:12 AM
1.創(chuàng)建項(xiàng)目##
新建項(xiàng)目,傳統(tǒng)的方式是使用 Yeoman 工具,它是基于 Node的一個(gè)項(xiàng)目生成器引擎,但本書使用的是 FrontJet 方式,這里講兩種
1.1.1 Yeoman###
首先講 Yeoman。
cnpm install -g yo命令來安裝它.
Yeoman只是個(gè)項(xiàng)目生成引擎,還需要安裝 Angular的項(xiàng)目模板,命令
cnpm install -g generator-gulp-angular@0.8.1。
為了讓后續(xù)步驟和本書的一致,先不做新的嘗試。
這個(gè)生成器還依賴兩個(gè)全局命令,也需要先行安裝:
cpnm install -g gulp bower
接下來我們就可以創(chuàng)建項(xiàng)目了。先建立一個(gè)項(xiàng)目目錄,比如:mkdir ~/dev && cd~/dev,mkdir book-forum-yo,然后進(jìn)入這個(gè)目錄cd book-forum-yo,再運(yùn)行命令yo gulp-angular
這是一個(gè)交互過程,Yeoman 會(huì)提出一系列問題供你選擇:
** which version of Angular do you want ?這里是選擇 Angular版本,由于我們需要兼容 IE8 ,所以這里要選1.2.x項(xiàng)。按方向鍵把光標(biāo)移到1.2.x項(xiàng)上,回車即可。**
** which Angular's modules would you want to have? 這里是選擇 Angular 的子模塊,具體的用途后面講,直接回車即可。**
** would you need jQuery or perhaps Zetpo? 這里選擇jQuery的版本,由于我們需要兼容IE8,所以這里要選擇jQuery 1.x版本。**
** would you like to use a REST resource library? 這里選擇ngResource 這是Angular內(nèi)置的 REST API 訪問庫。另一個(gè)選項(xiàng) Restangular 有點(diǎn)過度設(shè)計(jì),不夠簡潔,所以這里不選擇它。**
** would you like to use a router? 這里選擇UI Router ,這是一個(gè)第三方庫。另一個(gè)選項(xiàng) ngRoute 是內(nèi)置路由庫,UI Router用起來比ngRoute 稍好一些。**
** Which UI framework do you want? 這里選擇 Bootstrap,這是 Twitter 開源的一個(gè)CSS 庫,也有一些 JavaScript組件,它簡潔大方,成熟度高,而且可以自由使用在商業(yè)項(xiàng)目中,所以作為首選。**
** How do you want to implements your Bootstrap components? 這里選擇 Angular UIBootstrap,這是 Angular-ui 組推出的一個(gè)第三方 Angular 組件庫,本項(xiàng)目中會(huì)使用到其中的一些指令。**
** Which CSS preprocessor do you want? 這里選擇 Sass (Node)。Sass 是一種 CSS 的增強(qiáng)語言,支持嵌套以及變量、環(huán)等,最終要編譯成 CSS,這里選擇的是用 C 語言編寫的一個(gè) Sass 編譯程序,相對(duì) Ruby 的版本,它功能較少,但是執(zhí)行速度要快很多,而這種差別在大中型項(xiàng)目中是相當(dāng)顯著的,所以寧可犧牲 Sass 的高級(jí)特性,也要選擇它。**
** Which JavaScript preprocessor do you want? 這里選擇 None,也就是普通 JavaScript??紤]到一些讀者可能不熟悉其他幾種語言,所以為了便于示范,我們選擇普通JavaScript。**
-
** Which html template engine would you want to have? 這里選擇 Jade,事實(shí)上這里選擇什么都可以,因?yàn)闉榱吮阌谑痉?,我們在這里不會(huì)使用 HTML 模板引擎,而是直接使用普通 HTML。**
至此,選項(xiàng)的選擇已經(jīng)全部完成,系統(tǒng)會(huì)開始安裝 bower 和 Npm 包,前者用來安裝前端組件,而后者用來安裝開發(fā)環(huán)境。
不過,由于GFW的阻擋,npm的某些包可能安裝失敗,因此我們要按 ctrl+c 阻止這個(gè)自動(dòng)安裝過程,而是自己手動(dòng)安裝
bower installrm -fr node_modulescnpm install如果以前用 cnpm 和 npm , 那么可能會(huì)出現(xiàn)一些版本不匹配的警告。這些一般不會(huì)導(dǎo)致問題,不過如果要去掉這些警告,那么可以用如下命令清除一下緩存,并重裝安裝:
npm cache cleancnpm cache cleanrm -fr node_modulescnpm install