默认已经配置好了开发环境, 该demo实在Mac上进行
- 找个目录建立HelloWorld工程,如Desktop
➜ ~ cd Desktop
➜ Desktop crn-cli init HelloWorld
//终端输出
-[crn-cli]: 获取最新APP和ReactNative的版本信息...
-[crn-cli]: 获取最新APP和ReactNative的版本信息成功!
-[crn-cli]: 目前最新APP版本: 7.20
-[crn-cli]: 目前最新ReactNative版本: 0.41.0
-[crn-cli]: 目前最新React版本: 15.4.2
-[crn-cli]: 创建包括Demo部分和配置部分的工程文件...
-[crn-cli]: 创建工程文件成功!
-[crn-cli]: 创建package.json文件, 并嵌入appVersion字段...
-[crn-cli]: 创建package.json文件成功!
-[crn-cli]: install依赖包括crn、react-native、react etc...
-[crn-cli]: 执行以下脚本: npm install --save --save-exact --registry http://npm.dev.sh.ctripcorp.com:8001 [email protected] [email protected] git+http://wirelesscode.ctripcorp.com/crn#rel/7.2
[email protected] /Users/chuting/Desktop/HelloWorld
├─┬ @ctrip/[email protected] (git+http://wirelesscode.ctripcorp.com/crn#9b24390c377a3c10fdb7547a1a0ee5bd1691f337)
│ └─┬ [email protected]
│ └── [email protected]
├....此处省略一大推...
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
└─┬ [email protected]
└── [email protected]
-[crn-cli]: install依赖成功!
-[crn-cli]: The command 'init' completed successfully!
查看Desktop上的HelloWorld
➜ Desktop ls HelloWorld
切换到HelloWorld中
➜ Desktop cd HelloWorld
➜ HelloWorld ls
index.android.js main.js package.json
index.ios.js node_modules src
运行工程
crn-cli run-ios
会在Mac中启动iPhone 6 Simulator,并运行程序crn-cli run-android
需要Mac设备连接安卓手机,程序会自动安装到手机上并运行激动人心的时刻到了,看下工程运行起来的效果
➜ HelloWorld crn-cli run-ios
//终端输出
-[crn-cli]: 正在检查run-ios传入参数是否合法...
-[crn-cli]: 检查传入参数完成!
-[crn-cli]: 获取最新APP和ReactNative的版本信息...
-[crn-cli]: 获取最新APP和ReactNative的版本信息成功!
-[crn-cli]: 目前最新APP版本: 7.20
-[crn-cli]: 目前最新ReactNative版本: 0.41.0
-[crn-cli]: 目前最新React版本: 15.4.2
-[crn-cli]: 正在启动RN服务...
-[crn-cli]: 正在判断当前输入参数是否合法以及当前目录路径是否合法...
-[crn-cli]: 当前输入参数合法!
-[crn-cli]: 当前目录路径为: /Users/chuting/Desktop/HelloWorld
-[crn-cli]: 当前启动的RN服务端口为: 5389
-[crn-cli]: 正在判断当前RN服务是否已经启动...
-[crn-cli]: 当前RN服务正在启动...
-[crn-cli]: 当前写入启动服务脚本...
-[crn-cli]: 写入启动服务脚本完成!
-[crn-cli]: 正在启动RN服务...
-[crn-cli]: 执行以下脚本: /Users/chuting/Desktop/HelloWorld/.__tmp/launchPackager.command
-[crn-cli]: 启动RN服务成功!
-[crn-cli warn]: 由于当前并未指定需要安装的Ctrip APP版本, 所以当前运行APP最新版!
-[crn-cli]: 当前bundle URL为: http://169.254.4.169:5389/index.ios.bundle?CRNModuleName=HelloWorld
&
CRNType=1
-[crn-cli]: 正在检查APP ZIP文件是否下载过...
-[crn-cli]: 正在解压APP ZIP文件...
-[crn-cli]: APP ZIP文件解压完成!
-[crn-cli]: 正在启动ios模拟器, 运行RN...
-[crn-cli]: 启动ios模拟器:iPhone 6(10.2), UUID:922B0587-0B93-47D4-9287-C3EDA3A63A01
-[crn-cli]: 启动携程旅行App!
-[crn-cli]: 已传入相关参数, 正跳转至相关页面...
ctrip.com: 19372
-[crn-cli]: 运行RN成功!
-[crn-cli]: The command 'run-ios' completed successfully!
效果图:
有4块内容:
- 执行命令的终端窗口
- Node 开启的本地Service窗口
- RN chrome Debuger窗口
- iOS Simulator
别慌,我们来分析下HelloWorld