grouparoo 原始碼專案結構
阿新 • • 發佈:2022-02-06
以前我也簡單寫了一些關於grouparoo處理的,後邊計劃順著原始碼處理研究下
專案結構
grouparoo 包含了不少模組,屬於一個monorepo,但是沒有使用大家常用的yarn workspace 或者lerna 的workspace 而是使用了pnpm進行多workspace 的管理
使用lerna 進行釋出
- 包含的模組
"cli", cli 管理的
"apps/*", demo 應用
"core", 核心部分,包含了web 以及workers,當然此特性來自actionhero
"ui/*", 包含了社群以及企業版本,同時也包含一些共享元件,基於next 開發
"plugins/@grouparoo/*" grouparoo 的外掛,還是使用了actionhero的特性進行的開發,但是進行了一些改進處理
執行
- 準備應用
# Clone this repository
git clone git@github.com:grouparoo/grouparoo.git
cd grouparoo
# Install with pnpm (If you don't have pnpm, install it via "npm i -g pnpm")
pnpm install
# Configure your local environment variables in .env to be able to run the "staging-enterprise" app
cp apps/staging-enterprise/.env.example apps/staging-enterprise/.env
open apps/staging-enterprise/.env
- 依賴安裝&執行
# Install & run Redis
brew install redis
brew services start redis
# Install & run postgresql (v9.x)
brew install postgresql
brew services start postgresql
# Create your local development database (Postgres)
createdb "grouparoo_development"
# or in `psql`
CREATE DATABASE grouparoo_development;
GRANT ALL PRIVILEGES ON DATABASE grouparoo_development TO postgres;
# Run the staging-enterprise app example project
cd apps/staging-enterprise # If you aren't already here
npm run dev
說明
官方提供也提供了容器的執行模式還是比較簡單的,通過閱讀grouparoo 的原始碼我們也可以很好的學習下如何使用actionhero 開發靈活的web 應用
參考資料
https://www.grouparoo.com/docs/development
https://www.actionherojs.com/