react-native 学习

react-native 项目基础结构剖析

2019-01-29  本文已影响0人  _一叶孤帆

前言

在一个react-native项目中,由于项目同时支持iOS和Android,所以我们会看到完整的Android和iOS的项目结构

react-native文件结构

首先我们来新建一个react-native项目。
使用命令(看好自己的执行目录在哪哦~)

react-native init myReact

然后会变成下面这样


image.png

最后变成这样


image.png

OK~ 项目创建完成。

打开我们的目录 我们可以看到这样的结构。


image.png

现在我们来分别看这些文件是做什么的

__ 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的工程来看一下里面的变化。

image.png

发现里面有个报错 遇到这种情况呢 我们就去执行一下

npm install 

或者呢就把node_modules文件删除掉 再执行npm install

然后 你会发现没什么卵用。

好吧 先不管错误 编译一下


image.png

30min后。。。。

1h后。。。。

1.5h后。。。。。

image.png

终于成功。。。(第一次运行会装一个RN的依赖 会比(te)较(bie)慢)

现在发现错误消失了

可以愉快的玩耍了。

image.png

我们可以看到 didFinish里面多了很多东西 来看一下是什么。。。

关于RCTBundleURLProvider具体解析看这里

大概就是
获取了一个URL地址 然后创建了一个RN的加载视图
moduleName:这个要注意和导出的地址一样。。

image.png image.png
上一篇下一篇

猜你喜欢

热点阅读