简介

qrn tool 是用来支持 Qunar React Native 工程开发、更新、发布等一系列流程的工具,主要用来解决 Qunar React Native 工程中 node 模块版本依赖混乱、Qunar React Native框架更新不及时等棘手问题。

qrn tool 通过 qrn.lock 文件来固定 Qunar React Native 工程所依赖的 node模块的具体版本,保证了不同开发人员在开发的时候只要选定了Qunar React Native的版本号,那么所依赖的node模块的版本也是确定的,不会出现同一个版本的Qunar React Native所依赖的node模块版本却不同的问题。

工具安装

从 qnpm 中安装

$ qnpm install @qnpm/qrn_tool -g

或者

$ npm install @qnpm/qrn_tool  -g --registry=http://registry.npm.corp.qunar.com/

使用须知

已有 Qunar React Native 的项目如何迁移使用qrn-tool工具:

注:第1和第2可以根据业务的需要选择是否执行,但是需要保持同步,同时操作或者不操作

1.首先使用如下命令将git上的node_modules文件夹删除

$ git rm -rf node_modules

2.并且在git里的 .gitgnore 中添加上 /node_modules/ 来忽略掉node_modules 文件夹的所有提交

3.qrn.lock文件一定要放到git中,并且每次执行了qrn_tool工具命令之后,如果有qrn.lock文件的改动,就一定要提交

使用方式

1.初始化一个Qunar React Native工程

这个命令用于新建一个 Qunar React Native 的项目,如果是已经存在的项目,就不需要使用qrn init命令。

不指定初始化的version,将会使用qrn.json文件中最新版本的version来初始化,命令如下:

$ qrn init AwesomeProject

指定初始化的version,将会使用指定的version来初始化,命令如下:

$ qrn init AwesomeProject -v v1.5.0

或者

$ qrn init AwesomeProject --version v1.5.0

2.安装依赖

安装QRN工程所需的模块依赖,命令如下:

$ qrn install

需要注意的是: qrn_tool并不会提供类似于 npm install [module] 这种方式来安装一个node模块依赖。 如果需要增加一个新的node模块依赖,需要手动在package.json里添加这个模块, 然后使用 $ qrn install,就会将新添加的这个node模块写入qrn.lock文件, 所以如果做了这个操作,提交的时候就会发现package.jsonqrn.lock这两个文件都有改动。

3.升级react-native

Qunar React Native项目中依赖的react-native模块升级到最新版,命令如下:

$ qrn update

4.启动本地开发服务

不自定义端口号,将会默认以8081端口来启动本地server,命令如下:

$ qrn run

使用自定义的端口号,将会以指定的端口来启动本地server,命令如下:

$ qrn run --port 8082

5.检查更新

检查项目中依赖的react-native是否是最新版本并给出相应的提示,命令如下:

$ qrn check