背景
发现虽然有许多教如何创建自己cli的教程,但是在使用的时候,我还是觉得一步一步跟着做(自己写)很繁琐,希望能有个脚手架能直接一键生成,而我只要关注具体想要实现的细节,于是写了一个简单的脚手架,用以快速创建自己的脚手架。
outils-cli
该名称为法语 工具,创建的目的就是希望能够快速创建自己的cmd工具,用以解决一些自己所碰到的问题。
举个🌰
比如要创建一个青蛙行为的工具
我们先通过 outils create frog-behavior
创建项目,并指定指令名称frog
,具体命令名称jump
,等待项目创建完成。
可以看下生成项目的目录结构
.
├── bin
│ └── index.js
├── lib
│ ├── commands
│ │ └── jump
│ │ └── index.js
│ └── utils
│ └── log.js
├── package.json
└── yarn.lock
可以看到已经生成了一个常见的命令行项目目录,并且已经帮我们安装好了相关依赖。
这时候,我们只要在当前项目的根路径输入npm link
,就可以使用自己的命令行了,试一下。
可以看到成功了~
如果我们想要修改jump逻辑,可以在commands/jump/index.js
里进行修改
源文件:
const log = require('../../utils/log');
async function jump(options) {
log.success('jump')
}
module.exports = async (options) => {
jump(options)
};
修改为:
const log = require('../../utils/log');
async function jump(options) {
console.log('frog jump jump')
}
module.exports = async (options) => {
jump(options)
};
由于我们已经npm link了,所以可以直接在命令行里输入frog jump
,进行测试
至此,一个简单的命令行工具成功了,后续如果有发包的需求,在npm login
后 npm publish
即可发包~