美文网首页react-native 学习
react-native 项目基础结构剖析

react-native 项目基础结构剖析

作者: _一叶孤帆 | 来源:发表于2019-01-29 11:54 被阅读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

    相关文章

      网友评论

        本文标题:react-native 项目基础结构剖析

        本文链接:https://www.haomeiwen.com/subject/vlxxsqtx.html