项目结构分析
我们使用命令创建一个新的React Native项目:
react-native init helloRN
React Native开发常用命令可以戳这里
项目目录如下:
![](http://upload-images.jianshu.io/upload_images/4130078-f6813a2cc0e35458.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/600/format/webp)
目录分析:
android-----Android文件所在目录,包含AndroidStudio项目环境文件;
iOS ----- iOS文件所在目录,包含XCode项目环境;
node_moules ----- 基于node文件依赖系统产生的相关依赖和第三方lib;
babelrc -----Babel的配置文件,Babel是一个广泛使用的转码器,比如可以将ES6代码转为ES5代码,从而在现有环境执行。用来设置转码规则和插件;
watchmanconfig-----Watchman的配置文件,用于监控bug文件和文件变化,并且可以出发指定的操作
flowconfig-----flow的配置文件,flow用于静态代码检查,用来捕获常见的 bugs,比如隐式类型转换,空引用等;
gitattributes-----git属性文件设定一些项目特殊的属性。比如比较word文档的不同;对strings程序进行注册;合并冲突的时候不想合并某些文件等;
gitignore ----- 用来配置git提交需要忽略的文件;
buckconfig-----buck的配置文件,buck是Facebook开源的高效编译系统
index.js-----程序入口文件(老版本是index.android.js、index.ios.js);
package.json-----项目基本信息(比如名称、版本、许可证等元数据)以及依赖信息(npm install安装的模块)等;
yarn.lock-----Yarn 是 一个由 Facebook 创建的新 JavaScript 包管理器;每次添加依赖或者更新包版本,yarn都会把相关版本信息写入yarn.lock文件。这样可以解决同一个项目在不同机器上环境不一致的问题。
程序入口
在入口文件index.js中注册程序的入口组件,默认入口主件是App.js,当然你也可以自定义一个或多个组件注册为程序入口。
希望对你有所帮助!