**作者注 **React-Native 0.14 之后,可以用以下方法達到類似效果:
mkdir [Project Name] && cd $_npm i react-native@version --savereact-native upgrade
react-native 會用內(nèi)部的 Yeoman Generator來完成文件替換的過程。其實開可以具體傳參數(shù)的,參見: https://github.com/facebook/react-native/blob/master/local-cli/generator/index.js
- 原因
創(chuàng)建新的 React-Native (以下簡稱 RN)的時候,我們一般都是用以下命令:
react-native init [Project Name]
這個命令會從 npm 安裝 react-native
package,然后用執(zhí)行該 package 中的 cli.js
完成工程文件初始化。
這里有一點不方便的是,由于react-native
自身的版本升級非常頻繁(兩周發(fā)布一個版本),還往往會造成向前不兼容(畢竟還沒有到1.0版本)。因此,我們經(jīng)常要創(chuàng)建使用不同版本 react-native
的工程進行測試,尤其是對那些第三方的組件。而使用react-native init [Project Name]
是做不到這一點的。
這個需求對我來說過于頻繁,于是我就干脆復制了react-native-cli
的代碼,加了自己的參數(shù),提交了一個新的 package rninit
。
rninit
的安裝和使用和react-native-cli
類似。
安裝
npm i -g rninit使用
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 從某個 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ù)的格式其實就是所有 npm install 支持的參數(shù)格式
2.5 “verbose” 參數(shù)
原本 react-native
支持的 --verbose
參數(shù)仍然被支持:
rninit init [Project Name] --source react-native@0.14.2 --verbose
這樣你可以看到 npm 安裝過程中的詳細輸出信息。