Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/zhike-team/chaos
智课后端脚手架
https://github.com/zhike-team/chaos
Last synced: 4 days ago
JSON representation
智课后端脚手架
- Host: GitHub
- URL: https://github.com/zhike-team/chaos
- Owner: zhike-team
- Created: 2016-04-25T08:59:25.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-18T09:01:55.000Z (almost 8 years ago)
- Last Synced: 2024-12-22T08:18:14.607Z (about 1 month ago)
- Language: JavaScript
- Size: 38.1 KB
- Stars: 3
- Watchers: 5
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
- [Chaos](#chaos)
- [用法](#用法)
- [主要命令](#主要命令)
- [模板参数](#模板参数)
- [帮助](#帮助)
- [模板](#模板)
- [现有模板](#现有模板)
- [制作模板](#制作模板)# Chaos
项目脚手架生成器
用CLI的方式快速构建项目脚手架
```bash
chaos node-api scadmin # 在当前目录下建立名为"scadmin"的Node.js API服务项目
chaos node-api --version 1.2 ssadmin # 在当前目录下以1.2版本的模板建立名为"ssadmin"的项目
chaos node-api ssadmin -a port=8000 # 以默认监听8000端口建立项目
```## 用法
首先全局安装
```
npm install -g zhike-chaos
```如果要在 projects 目录下建立 node.js API 项目 coconut :
```bash
cd projects
chaos node-api coconut
```### 主要命令
```bash
chaos -l # 列出所有模板和版本
chaos -v # 按指定版本的模板创建项目
chaos -a # 传递参数给模板
```### 模板参数
模板参数用以`,`分隔的querystring格式传给chaos,例如:
要传递以下参数:
- port = 3000
- css = less则需要这么写:
```bash
chaos -a port=3000,css=less
```> 所有参数均解析为string,类型转换可以在模板中做。
### 帮助
程序帮助如下,可以用`chaos -h`或`chaos --help`查看:
```
Usage: chaos [options]
Options:
-h, --help output usage information
-V, --version output the version number
-v, --template-version specify template version (defaults to newest)
-a, --template-args args pass to template (example: --args port=3000,css=less)
-l, --list list all templatesExamples:
$ chaos node-api myapp
$ chaos node-api -v 1.1 myapp
$ chaos node-api -v 1.1 myapp -a port=3000,css=lessTemplate Arguments:
port the port for the template
```
## 模板
### 现有模板
- node-api
- 1.0 (default)### 制作模板
首先准备好脚手架。
将需要模板化的文件加上后缀 `.template`:
```
package.json -> package.json.template
```然后在模板中使用[ejs](https://github.com/mde/ejs)编写模板逻辑。如下:
```js
// package.json
{
"name": "boilerplate",
"version": "1.0.0",
...
}// package.json.template
{
"name": "= name ?>",
"version": "1.0.0",
...
}// render with project name = coconut
{
"name": "coconut",
"version": "1.0.0",
...
}
```> 为了防止和模板项目中可能存在的ejs文件冲突,我们使用 ` ?>` 作为模板符号。
准备好模板后,起一个模板名(如:palm),将其放入chaos的templates文件夹中:
```
.../new_boilerplate/ -> chaos/templates/palm/1.0/
```之后每更新版本,便添加一个以版本命名的文件夹放新版本的文件。