RN常用框架组合、目录结构以及常用命令。

RN常用框架

  • redux
    npm install redux --save
    
  • react-redux
    npm install react-redux --save
    
  • redux-thunk
    npm install redux-thunk --save
    

RN目录结构

    .
    ├── __tests__
    │   ├── index.android.js
    │   └── index.ios.js
    ├── android
    ├── ios
    ├── app
    │   ├── com
    │   │   ├── com-A
    │   │   │   ├── component.js
    │   │   │   └── index.js
    │   │   └── com-B.js
    |   ├── action
    │   │   ├── aaction.js
    │   │   └── index.js
    |   ├── reducer
    │   │   ├── areducer.js
    │   │   └── index.js
    |   ├── constant
    │   │   └── index.js
    │   ├── assets
    │   ├── page
    │   │   ├── page-A
    │   │   │   └── index.js
    │   │   ├── page-B
    │   │   │   └── index.js
    │   │   └── index.js
    │   ├── utils
    │   ├── sdk
    │   ├── app.js
    │   ├── store.js
    │   └── index.js
    ├── index.android.js
    ├── index.ios.js
    ├── index.js
    ├── .babelrc
    ├── .eslintrc
    ├── .eslintignore
    ├── .npmignore
    ├── .gitignore
    └── package.json

RN目录结构分析

  • __tests__:测试代码目录
  • android:Android源码目录
  • ios:iOS源码目录
  • app:RN源码
    • com:公共组件目录
    • action:所有Redux Action目录
    • reducer:所有Redux Reducer目录
    • constant:常量目录
    • assets:资源目录(图片)
    • page:页面目录
    • utils:工具方法目录
    • sdk:SDK引用目录
    • app.js:全局方法/配置
    • store.js:全局state树初始化
    • index.js:入口文件
  • index.android.js:Android入口文件
  • index.ios.js:iOS入口文件
  • index.js:合并的入口文件,指向app.index.js
  • package.json:npm配置文件

常用名

  • 安装配置文件的依赖
    npm install
    
  • 链接原生库
    react-native link
    
  • 运行调试
    // 运行android
    react-native run-android
    // 运行iOS
    react-native run-ios
    
  • 单独打出bundle离线包
    // 打出ios bundle离线包
    react-native bundle --platform ios --dev false --entry-file index.ios.js --bundle-output index.ios.bundle --assets-dest ./
    // 打出android bundle离线包
    react-native bundle --platform android --dev false --entry-file index.android.js --bundle-output index.android.bundle --assets-dest ./
    
  • Android建立一个从设备向电脑转发的端口
    adb reverse tcp:8081 tcp:8081