Braid 开源项目使用教程

Braid 开源项目使用教程

braid Braid is a team-chat app with a novel UI that leads to better conversations. braid 项目地址: https://gitcode.com/gh_mirrors/br/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.ednprod.cljs.edn

  • project.clj:项目的核心配置文件,定义了项目的名称、版本、依赖库、插件等信息。

  • dev.cljs.edn:开发环境下的配置文件,可以在这里配置一些只在开发环境下使用的参数。

  • prod.cljs.edn:生产环境下的配置文件,用于配置生产环境中的参数,例如优化设置等。

在开始使用 Braid 项目之前,你需要根据实际情况调整这些配置文件,确保项目能够正确运行。

braid Braid is a team-chat app with a novel UI that leads to better conversations. braid 项目地址: https://gitcode.com/gh_mirrors/br/braid

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

葛月渊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值