re-frame-datatable 项目教程
1. 项目的目录结构及介绍
re-frame-datatable/
├── project.clj
├── README.md
├── resources/
│ └── public/
│ └── index.html
├── src/
│ └── re_frame_datatable/
│ ├── core.cljs
│ ├── db.cljs
│ ├── events.cljs
│ ├── subs.cljs
│ └── views.cljs
└── test/
└── re_frame_datatable/
└── core_test.cljs
- project.clj: 项目的配置文件,定义了项目的依赖、版本等信息。
- README.md: 项目的介绍文档,通常包含项目的概述、安装和使用说明。
- resources/public/: 存放静态资源文件,如HTML、CSS、JavaScript等。
- src/re_frame_datatable/: 项目的源代码目录,包含核心逻辑、数据库、事件处理、订阅和视图等模块。
- test/re_frame_datatable/: 项目的测试代码目录,包含单元测试文件。
2. 项目的启动文件介绍
项目的启动文件是 resources/public/index.html
,这是项目的入口文件。当项目启动时,浏览器会加载这个HTML文件,并执行其中的JavaScript代码来初始化应用。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>re-frame-datatable</title>
</head>
<body>
<div id="app"></div>
<script src="js/main.js"></script>
</body>
</html>
<div id="app"></div>
: 这是应用的挂载点,re-frame 应用的视图会渲染在这个div
中。<script src="js/main.js"></script>
: 这是项目的打包输出文件,包含了所有编译后的 ClojureScript 代码。
3. 项目的配置文件介绍
项目的配置文件是 project.clj
,它使用 Leiningen 作为构建工具,定义了项目的依赖、版本、构建任务等信息。
(defproject re-frame-datatable "0.1.0-SNAPSHOT"
:dependencies [[org.clojure/clojure "1.10.1"]
[org.clojure/clojurescript "1.10.597"]
[reagent "0.10.0"]
[re-frame "0.12.0"]]
:plugins [[lein-cljsbuild "1.1.7"]]
:cljsbuild {:builds [{:id "dev"
:source-paths ["src"]
:compiler {:main re-frame-datatable.core
:output-to "resources/public/js/main.js"
:output-dir "resources/public/js/out"
:asset-path "js/out"
:optimizations :none
:source-map true}}]}
:profiles {:dev {:dependencies [[binaryage/devtools "1.0.0"]]}})
:dependencies
: 定义了项目所依赖的库,如 Clojure、ClojureScript、reagent 和 re-frame。:plugins
: 定义了项目使用的插件,如lein-cljsbuild
,用于构建 ClojureScript 项目。:cljsbuild
: 定义了 ClojureScript 的构建配置,包括源代码路径、输出文件路径、优化级别等。:profiles
: 定义了项目的不同构建配置,如开发环境下的依赖。