Braid 开源项目使用教程
1. 项目的目录结构及介绍
Braid 是一个基于 Clojure 脚本的开源团队聊天应用程序。以下是 Braid 项目的目录结构及文件介绍:
braidchat/
├── dev-src/ # 开发源码目录
│ ├── braid/ # Braid 核心源码
│ ├── docs/ # 文档目录
│ ├── resources/ # 资源文件目录
│ ├── scripts/ # 脚本目录
│ └── test/ # 测试目录
├── .editorconfig # 编辑器配置文件
├── .gitignore # Git 忽略文件
├── CHANGELOG.md # 更新日志
├── CODE_OF_CONDUCT.md # 行为准则
├── CONTRIBUTING.md # 贡献指南
├── CONTRIBUTORS.edn # 贡献者信息
├── LICENSE.md # 许可协议
├── README.md # 项目说明文件
├── deps.edn # 项目依赖配置文件
├── dev.cljs.edn # 开发环境配置文件
├── gateway.cljs.edn # 网关配置文件
├── prod.cljs.edn # 生产环境配置文件
├── profiles.sample.clj # 配置示例文件
└── project.clj # 项目配置文件
2. 项目的启动文件介绍
Braid 的启动文件主要是 project.clj
,该文件定义了项目的依赖、插件以及启动时的配置。以下是 project.clj
的基本内容:
(defproject braidchat/braid "0.1.0"
:dependencies [
[org.clojure/clojure "1.10.3"]
[org.clojure/clojurescript "1.10.767"]
[reagent "0.9.1"]
[re-frame "0.10.6"]
[re-frisk "0.5.0"]
[day8.re-frame/async-flow-fx "0.1.0"]
[day8.re-frame/tracing "0.5.3"]
[com.taoensso/sente "1.16.0"]
[com.taoensso/timbre "5.1.2"]
[org.webjars/webjars-locator "0.33"]
[http-kit "2.5.3"]
[ring/ring-core "1.9.3"]
[ring/ring-defaults "0.3.2"]
[ring/ring-json "0.5.0"]
[compojure "1.6.2"]
[hiccup "2.0.0-alpha2"]
[environ "1.1.0"]
[org.clojure/tools.nrepl "0.2.13"]
[org.clojure/tools.reader "1.3.2"]
[com.cemerick/piggieback "0.5.2"]
[cljsjs/react "16.8.0-rc.5-0"]
[cljsjs/react-dom "16.8.0-rc.5-0"]
[cljsjs/react-dom-server "16.8.0-rc.5-0"]
[ cljsjs/create-react-class "15.6.2-0"]
[ cljsjs/react-motion "0.5.0-rc.1-0"]
[ cljsjs/aphrodite "0.4.0-0"]
[ cljsjs/velocity-react "1.0.0-0"]
[ cljsjs/material-ui "0.20.0-0"]
[ cljsjs/pond "0.2.0-0"]
[ cljsjs/moment "2.24.0-0"]
[ cljsjs/parinfer "1.7.0-0"]
[ cljsjs/parinferjs "1.7.0-0"]
[ cljsjs/ace "1.4.12-0"]
[ cljsjs/d3 "5.9.0-0"]
[ cljsjs/om "1.0.0-0"]
[ cljsjs/om-tools "0.9.0-0"]
[ cljsjs/secretary "1.2.0-0"]
[ cljsjs/uuid "1.0.5-0"]
[ cljsjs/google-code-prettify "1.0.0-0"]
[ cljsjs/markdown "0.5.0-0"]
[ cljsjs/remarkable "1.6.2-0"]
[ cljsjs/codemirror "5.52.0-0"]
[ cljsjs/tern "0.14.2-0"]
[ cljsjs/tern-eclipse "0.13.0-0"]
[ cljsjs/tern-codemirror "0.14.2-0"]
[ cljsjs/tern-clojure "0.14.2-0"]
[ cljsjs/tern-clojure-socket "0.14.2-0"]
[ cljsjs/tern-javascript "0.14.2-0"]
[ cljsjs/tern-plugin-d3 "0.14.2-0"]
[ cljsjs/tern-plugin-ecmascript "0.14.2-0"]
[ cljsjs/tern-plugin-node "0.14.2-0"]
[ cljsjs/tern-plugin-react "0.14.2-0"]
[ cljsjs/tern-plugin-web "0.14.2-0"]
[ cljsjs/tern-styled-components "0.14.2-0"]
[ cljsjs/tern-tern "0.14.2-0"]
]
:plugins [
[lein-cljsbuild "1.1.7"]
[lein-environ "1.1.0"]
[lein-figwheel "0.5.18"]
[lein-kibit "0.2.0"]
[lein-cloverage "1.2.2"]
[lein-npm "0.6.1"]
[lein-doo "0.1.10"]
]
:figwheel {
:http-server-root "public"
:server-port 3449
:nrepl-port 7002
:css-dirs ["resources/public/css"]
}
:cljsbuild {
:builds [
{:id "dev"
:source-paths ["src" "dev-src"]
:figwheel true
:compiler {
:main "braid.client"
:output-to "resources/public/cljs-out/dev/main.js"
:output-dir "resources/public/cljs-out/dev"
:asset-path "cljs-out/dev"
:source-map true
:preloads [day8.re-frame/tracing]
:optimizations :none}}
{:id "prod"
:source-paths ["src"]
:compiler {
:main "braid.client"
:output-to "resources/public/cljs-out/prod/main.js"
:output-dir "resources/public/cljs-out/prod"
:asset-path "cljs-out/prod"
:source-map "resources/public/cljs-out/prod.js.map"
:optimizations :advanced}}
]
}
:profiles {
:dev {
:dependencies [
[binaryage/devtools "0.9.10"]
[day8.re-frame/re-frame-10x "0.3.7-react16"]
]
:plugins [
[lein-figwheel "0.5.18"]
]
}
}
)
3. 项目的配置文件介绍
Braid 的配置文件主要包括 project.clj
中的依赖配置、dev.cljs.edn
和 prod.cljs.edn
。
-
project.clj
:项目的核心配置文件,定义了项目的名称、版本、依赖库、插件等信息。 -
dev.cljs.edn
:开发环境下的配置文件,可以在这里配置一些只在开发环境下使用的参数。 -
prod.cljs.edn
:生产环境下的配置文件,用于配置生产环境中的参数,例如优化设置等。
在开始使用 Braid 项目之前,你需要根据实际情况调整这些配置文件,确保项目能够正确运行。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考