Figwheel React Native 使用指南
1. 项目目录结构及介绍
Figwheel React Native 是一个让使用 ClojureScript 开发的 React Native 应用能够利用 Figwheel 的实时重载(live reloading)和REPL功能的工具。尽管具体仓库的内部目录结构没有直接提供,通常ClojureScript和React Native项目结合Figwheel会有以下基本结构:
-
src:这是核心源代码所在目录,其中应该包含ClojureScript的业务逻辑和组件定义。
-
awesome/main.cljs
: 示例中的主入口点文件,负责设置应用初始状态和界面渲染。
-
resources:可能存放静态资源或者特定构建配置文件,如用于配置Figwheel或编译选项的EDN文件。
-
project.clj 或 deps.edn: 这是Clojure/ClojureScript项目的主要配置文件,定义了依赖关系、版本和构建指令。
-
package.json: 管理JavaScript相关的依赖和脚本命令,对于React Native项目至关重要,用于运行和构建应用。
-
ios 和 android 目录:包含了React Native针对iOS和Android平台的原生项目代码。
2. 项目的启动文件介绍
在 Figwheel React Native 中,主要关注的启动文件可能是以下几个方面:
-
ClojureScript的启动脚本:通常是通过CLI调用,比如
clj -m figwheel.main
命令,加上特定参数(如-b ios
表示针对iOS进行编译)。这不指向单一文件,而是ClojureScript的命令行接口,依据项目的project.clj
或者deps.edn
配置执行编译任务。 -
React Native启动命令:虽然不是项目直接提供的启动文件,但在实际开发流程中,你需要在另一个终端窗口运行
npx react-native run-ios
或类似的命令来启动React Native应用。这个命令由package.json
中的脚本或者React Native的CLI控制。
3. 项目的配置文件介绍
project.clj
或 deps.edn
这是Clojure(ClojureScript)项目的灵魂,它包含项目的基本信息,库的依赖,以及默认的构建设置。对于Figwheel React Native,这里将指明Clojurescript依赖,并且可以通过特定配置启用Figwheel特性,例如编译目标、优化级别等。
.cljs.edn
文件(例如 ios.cljs.edn
)
在ClojureScript针对React Native的上下文中,.cljs.edn
文件用于指定针对不同环境的特殊配置,例如是否自动刷新(:react-native-auto-refresh
),如何启动React Native工具链(:launch-js
)等。这些配置项影响Figwheel如何与React Native集成。
package.json
尽管这不是ClojureScript特有的配置,但对于React Native项目至关重要。它记录了Node.js的依赖项,定义了npm/yarn脚本,如编译、启动应用的命令,这对于与ClojureScript编译并行运行的React Native部分至关重要。
在实际操作中,理解这些配置文件之间的交互对成功搭建和维护一个使用Figwheel的React Native项目至关重要。