create-cljs-app 项目教程
1. 项目的目录结构及介绍
create-cljs-app
项目的目录结构如下:
my-app
├── README.md
├── package.json
├── node_modules
├── shadow-cljs.edn
├── .gitignore
├── public
│ ├── css
│ │ └── style.css
│ ├── index.html
│ └── favicon.ico
└── src
├── app
│ ├── cards.cljs
│ ├── core.cljs
│ ├── hello.cljs
│ └── hello_cards.cljs
└── e2e
└── core.cljs
目录结构介绍:
- README.md: 项目的说明文件,包含项目的基本信息和使用指南。
- package.json: 项目的依赖管理文件,定义了项目的依赖包和脚本命令。
- node_modules: 存放项目依赖的 Node.js 模块。
- shadow-cljs.edn: 项目的配置文件,用于配置 Shadow CLJS 构建工具。
- .gitignore: Git 忽略文件,定义了哪些文件或目录不需要被 Git 管理。
- public: 存放静态资源文件,如 HTML、CSS 和图标文件。
- css/style.css: 项目的样式文件。
- index.html: 项目的主 HTML 文件。
- favicon.ico: 项目的图标文件。
- src: 存放项目的源代码文件。
- app: 存放主要的 ClojureScript 代码文件。
- cards.cljs: 示例代码文件。
- core.cljs: 项目的主入口文件。
- hello.cljs: 示例代码文件。
- hello_cards.cljs: 示例代码文件。
- e2e: 存放端到端测试代码文件。
- core.cljs: 端到端测试的主入口文件。
- app: 存放主要的 ClojureScript 代码文件。
2. 项目的启动文件介绍
项目的启动文件主要是 src/app/core.cljs
和 shadow-cljs.edn
。
src/app/core.cljs
这是项目的主入口文件,包含了项目的初始化代码和主要逻辑。通常,这个文件会定义一个 main
函数,用于启动应用。
shadow-cljs.edn
这是 Shadow CLJS 的配置文件,定义了项目的构建配置、依赖关系和构建目标。通过这个文件,可以配置项目的开发模式、生产构建、测试等。
3. 项目的配置文件介绍
package.json
package.json
文件定义了项目的依赖包和脚本命令。以下是一些关键配置:
{
"name": "create-cljs-app",
"version": "0.0.0-development",
"description": "Set up a modern cljs app by running one command",
"main": "index.js",
"bin": {
"create-cljs-app": "./bin/create-cljs-app.js"
},
"engines": {
"node": ">=10.12"
},
"scripts": {
"sc": "shadow-cljs",
"server": "shadow-cljs stop && shadow-cljs start",
"start": "shadow-cljs watch lib",
"build": "yarn clean && shadow-cljs release lib",
"test": "shadow-cljs watch test --config-merge \"[:autorun true]\"",
"test:once": "shadow-cljs compile test && node out/test.js",
"e2e": "shadow-cljs compile e2e && node out/e2e.js",
"quick-e2e": "shadow-cljs compile lib && yarn e2e",
"lint": "clj-kondo --lint src",
"format": "zprint -w src"
}
}
shadow-cljs.edn
shadow-cljs.edn
文件定义了 Shadow CLJS 的构建配置。以下是一个示例配置:
{:source-paths ["src"]
:dependencies [[org.clojure/clojure "1.10.1"]
[org.clojure/clojurescript "1.10.597"]]
:builds {:app {:target :browser
:output-dir "public/js"
:asset-path "/js"
:modules {:main {:entries [app.core]}}}}}
这个配置文件定义了项目的源代码路径、依赖关系和构建目标。通过这个文件,可以配置项目的开发模式、生产构建、测试等。
以上是 create-cljs-app
项目的目录结构、启动文件和配置文件的介绍。希望这份教程能帮助你更好地理解和使用这个项目。