grouparoo 源码项目结构
以前我也简单写了一些关于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/