** 作者注 **
React-Native 0.14 之后管引,可以用以下方法達(dá)到類似效果:
mkdir [Project Name] && cd $_
npm i react-native@version --save
react-native upgrade
react-native 會(huì)用內(nèi)部的 Yeoman Generator來完成文件替換的過程士败。其實(shí)開可以具體傳參數(shù)的,參見: https://github.com/facebook/react-native/blob/master/local-cli/generator/index.js
0. 原因
創(chuàng)建新的 React-Native (以下簡(jiǎn)稱 RN)的時(shí)候褥伴,我們一般都是用以下命令:
react-native init [Project Name]
這個(gè)命令會(huì)從 npm 安裝 react-native
package谅将,然后用執(zhí)行該 package 中的 cli.js
完成工程文件初始化。
這里有一點(diǎn)不方便的是重慢,由于react-native
自身的版本升級(jí)非常頻繁(兩周發(fā)布一個(gè)版本)饥臂,還往往會(huì)造成向前不兼容(畢竟還沒有到1.0版本)。因此似踱,我們經(jīng)常要?jiǎng)?chuàng)建使用不同版本 react-native
的工程進(jìn)行測(cè)試隅熙,尤其是對(duì)那些第三方的組件。而使用react-native init [Project Name]
是做不到這一點(diǎn)的核芽。
這個(gè)需求對(duì)我來說過于頻繁囚戚,于是我就干脆復(fù)制了react-native-cli
的代碼,加了自己的參數(shù)轧简,提交了一個(gè)新的 package rninit
驰坊。
rninit
的安裝和使用和react-native-cli
類似。
1. 安裝
npm i -g rninit
2. 使用
2.1 用最新的 react-native
版本創(chuàng)建工程:
rninit init [Project Name]
2.2 用特定的 react-native
npm 版本創(chuàng)建工程:
rninit init [Project Name] --source react-native@0.14.2
2.3 從某個(gè) Git Repo. 創(chuàng)建工程:
rninit init [Project Name] --source git+https://github.com/facebook/react-native.git#v0.14.2
這也方便你從自己 Clone 或 Fork 的 react-native
版本來創(chuàng)建工程哮独。
2.4 “source” 參數(shù)格式
--source
參數(shù)的格式其實(shí)就是所有 npm install 支持的參數(shù)格式
2.5 “verbose” 參數(shù)
原本 react-native
支持的 --verbose
參數(shù)仍然被支持:
rninit init [Project Name] --source react-native@0.14.2 --verbose
這樣你可以看到 npm 安裝過程中的詳細(xì)輸出信息拳芙。