aotoo-hub
是一套前端/NODE 端一体化设计的全栈脚手架,将它定位明确一点,专职编译,与业务去耦合,webpack4编译环境,node端由koa2提供服务
- 一条命令启动开发环境、编译、构建、node
- 技术栈无关(支持react/vue/jquery)
- 多项目开发,多项目部署,多项目互通,多项目共享编译资源
- 支持快速开发/完整开发模式,配置是否启动node端
- 支持sass/stylus动态样式
- 支持多环境部署,一条命令切换不同环境,测试,预生产,生产等
- node端自动生成镜像路由,镜像API
- node端支持插件,插件支持自定义路由/自定义API/自定义功能模块
- 支持自定义同构方法(前端+node端)
- 支持小程序编译
aotoo-hub
安装完成后的目录结构
hub工作空间
├── build
├── aotoo.config.js
├── index.js
├── package.json
├── postcss.config.js
└── src
# vue 项目演示
└─ vueSample
├── configs # node环境配置文件,默认包含default.js
├── dist # 静态资源输出目录
├── js # 前端业务js目录(前端)
│── venders # 第三方库文件目录+自定义公共库(前端)
...
└── server # node端的源码目录
│── pages # node端的业务目录
└── plugins # 自定义插件目录
# react 项目演示
└─ reactSample
├── configs # node环境配置文件,默认包含default.js
├── dist # 静态资源输出目录
├── js # 前端业务js目录(前端)
│── venders # 第三方库文件目录+自定义公共库(前端)
...
└── server # node端的源码目录
│── pages # node端的业务目录
└── plugins # 自定义插件目录
# 小程序项目演示
└─ xcxSample
...
...
# 文档项目演示
└─ mdSample
...
...
aotoo-cli
是aotoo-hub的命令行工具库,aotoo-hub需要使用该工具进行安装,编译更多说明
- mac osx
- linux
- 不支持
windows,但 win10 的 linux 子系统可以 - node >= 12
npm install -g aotoo-cli
aotoo -V # 检查是否安装成功
init <dir>
# 新建xxx项目
$ aotoo init xxx
create <dir>
自动创建pc/h5/公众号等web项目并启动项目
# 新建项目
$ cd xxx
$ aotoo create projectName
将会在xxx/src目录下,创建项目目录
projectName
,按照提示输Y
,回车继续
完成安装后,修改aotoo.config.js
,补充项目描述
create <dir>
适用于创建小程序项目
# 新建项目
$ cd xxx
$ aotoo create minip_name
将会在xxx/src目录下,创建项目目录
minip_name
,提示请输入n
完成安装后,打开aotoo.config.js
,补充项目描述,重新启动项目
安装完成后,hub的src目录下包含4个演示项目,通过以下命令可以分别启动
# 文档项目属于默认项目,可以直接启动
$ aotoo dev
aotoo dev vueSample
aotoo dev reactSample
编译完成后需要使用小程序开发工具打开终端黄色字体指示的目录
aotoo dev xcxSample
开发模式编译,并启动服务,前端支持热更新
# 启动aotoo.config中apps中的启动项目
$ aotoo dev
# 启动指定项目
$ aotoo dev project_name
开发模式编译,清除common/vendors等dll文件,重新生成,并启动服务
$ aotoo dev-clean
# 启动指定项目,并清除该项目common的缓存
$ aotoo dev-clean project_name
开发模式编译,清除common/vendors等dll文件,重新生成,不启动服务
$ aotoo dev-build
# 编译指定项目
$ aotoo dev-build project_name
生产模式,纯编译输出,不启动服务
$ aotoo build
# 编译指定项目
$ aotoo build project_name
生产模式,清除common/vendors等dll文件,并重新生成,不启动服务
$ aotoo build-clean
# 编译指定项目
$ aotoo build-clean project_name
部署之前,需要先以生产模式编译
aotoo build-clean project_name
生产模式,启动node服务
$ aotoo start
# 编译指定项目
$ aotoo start project_name
# 编译项目,生产模式
$ node index.js
# 启动测试环境
$ node index.js --config test
# 进入源码server目录启动
$ cd src/project_name/server
$ node index.js
# 编译项目,生产模式
$ aotoo build-clean project_name
# 启动测试环境
$ pm2 start index.js -- --config test
指定环境配置文件,配合node端一起使用
# 开发模式,启动测试环境
aotoo dev --config test
# 生产模式,启动测试环境
aotoo build --config test
启动指定项目,该参数可多项目同时启动
# 同时启动 xxx 及 yyy的项目
$ aotoo dev --name vueDemo --name reactDemo