基本思路

知识点
download-git-repo
用于在node中下载git仓库。
1 | // 基本用法 |
url
为要下载的地址- GitHub - github:owner/name or simply owner/name
- GitLab - gitlab:owner/name
Bitbucket - bitbucket:owner/name
项目中的
url
是github的github:fechengxiaocheng/react-koa-app
,也可以简写fechengxiaocheng/react-koa-app
target
要下载到的目标文件项目中的
target
为my-app/.download-temp
临时目录
ora
用于在终端打印某节点的对应信息。
1 | // 基本用法 |
项目中ora中来打印git下载进行、成功的信息
glob
使用patterns来匹配对应的文件
1 | // 基本用法 |
nodejs-path
path.basename(path[, ext])返回路径最后的一部分
1 | path.basename('/foo/bar/baz/asdf/quux.html'); |
path.resolve([…paths])把一个路径或路径片段的序列解析为一个绝对路径。
1 | path.resolve('/foo/bar', './baz'); |
fs.stat(filepath, (err, stats) => {stats.isDerectory()})
* fs.stat是异步的,不能保证已执行完再去执行后面的,所以要放在回调中。
fs.statSync(filepath).isDerectory()
* fs.statSync是同步的,可以直接进行后面的操作
inquirer
用来在终端与用户交互答案
1 |
|
默认type为input,设置成confirm则确认y/n
metalsmith
一个简单的静态站点生成器,用来批量处理模板
handlebars
模板引擎
1 | const Handlebars = require('handlebars'); |
rimraf
node
中的rimraf
等同于终端中的rm -rf
log-symbols
用来在终端打印出好看的标示。
1 | const logSymbols = require('log-symbols'); |
chalk
在终端打印出自定义颜色,粗细,bgcolor
const logSymbols = require('log-symbols');
const chalk = require('chalk');
console.log(logSymbols.success, chalk.green('Finished successfully!'));
console.log(logSymbols.info, chalk.rgb(255,255,0).inverse('Finished info!'));
console.log(logSymbols.warning, 'Finished warning!');
console.log(logSymbols.error, chalk.red.bold('Finished error!'));
command
支持git风格的子命令处理
可以根据子命令自动引导到以特定格式命名的命令执行文件,文件名的格式是[command]-[subcommand]
,例如:
macaw hello => macaw-hello
macaw init => macaw-init