前言
在一个react-native项目中,由于项目同时支持iOS和Android,所以我们会看到完整的Android和iOS的项目结构
react-native文件结构
首先我们来新建一个react-native项目。
使用命令(看好自己的执行目录在哪哦~)
react-native init myReact
然后会变成下面这样
最后变成这样
OK~ 项目创建完成。
打开我们的目录 我们可以看到这样的结构。
现在我们来分别看这些文件是做什么的
__ tests__ : 测试文件夹
android: Android目录
ios: iOS文件所在目录
node_modules: 基于note文件依赖系统产生的相关依赖和第三方lib
.buckconfig: buck的配置文件,buck是Facebook推出的一款高效率的App项目构建工具。
.flowconfig: Flow 是 Facebook 旗下一个为 JavaScript 进行静态类型检测的检测工具。它可以在 JavaScript 的项目中用来捕获常见的 bugs,比如隐式类型转换,空引用等等。
.gitattributes: git属性文件设定一些项目特殊的属性。比如要比较word文档的不同;对strings程序进行注册;合并冲突的时候不想合并某些文件等等。
.gitignore: 用来配置git提交需要忽略的文件。
.watchmanconfig: 用于监控bug文件和文件变化,并且可以出发指定的操作。
yarn.lock : Yarn 是 一个由 Facebook 创建的新 JavaScript 包管理器;每次添加依赖或者更新包版本,yarn都会把相关版本信息写入yarn.lock文件。这样可以解决同一个项目在不同机器上环境不一致的问题。
App.js :生成的初始化代码(helloworld的所在地 哈哈哈哈 这个没什么用)
babel.config.js:(嗯.....以前创建没出来 在研究)
index.js :真正的入口文件
app.json :配置了name和displayName
package.json: package.json定义了项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。
上面就是react-native的工程目录 。
现在我们打开iOS的工程来看一下里面的变化。
发现里面有个报错 遇到这种情况呢 我们就去执行一下
npm install
或者呢就把node_modules文件删除掉 再执行npm install
然后 你会发现没什么卵用。
好吧 先不管错误 编译一下
30min后。。。。
1h后。。。。
1.5h后。。。。。
终于成功。。。(第一次运行会装一个RN的依赖 会比(te)较(bie)慢)
现在发现错误消失了
可以愉快的玩耍了。
我们可以看到 didFinish里面多了很多东西 来看一下是什么。。。
大概就是
获取了一个URL地址 然后创建了一个RN的加载视图
moduleName:这个要注意和导出的地址一样。。