# 开发
TIP
你也想为脚手架添砖加瓦?快来看下开发规范吧!
# 前提
Node 版本
需要 Node.js (opens new window) >= 12.0
# 怎么运行项目?
git 拉取 本仓库 (opens new window)
git clone git@github.com:daysnap/daysnap-cli.git
安装依赖初始化
cd daysnap-cli npm install
项目根目录下,执行
npm link
进行开发环境下dsc
命令调试npm link
dsc -v
查看是否成功dsc -v
# 开发目录
project
├── bin // 可执行脚本
│ ├── dsc.js // 主入口
├── lib // 各命令执行脚本
│ ├── 404
│ ├── create
│ ├── npm
│ └── publish
├── utils // 工具目录
│ ├── helper.js
│ ├── logger.js
│ ├── overwrite.js
│ ├── router.js
│ └── spinner.js
├── README.md
├── LICENSE
├── package.json
└── .gitignore
# 如果新增一个指令
已新增一个列出当前目录的命令为例子:
bin/dsc.js
下,新增
// bin/dsc.js
program
.command('ls')
.description('列出目录')
.action(createRouter(require('../lib/ls')))
lib/
目录下创建文件liv/ls/index.js
// lib/ls/index.js
const logger = require('../../utils/logger')
const { exec } = require('../../utils/helper')
module.exports = async () => {
const data = await exec(`ls`)
logger.info(data).br()
}
dsc ls
即可执行liv/ls/index.js
下的逻辑
dsc ls
当然上述列举的只是一个很简单的入手案例,复杂的情况,就看 liv/ls/index.js
下的处理逻辑了。
← 命令