准备工作
1.安装node.js,在官网下载即可,利用node.js的打包工具npm
开始
第一步. 首先创建一个demo文件夹(名称自定义)
第二步.在demo文件夹中创建一个bin文件夹,在bin文件夹下创建一个demo.js,然后在js中写下如下代码
#!/usr/bin/env node
console.log('demo is run')
第三步. 使用cmd命令行,进入demo所在的文件夹下,然后输入命令 npm init --yes 也可以根据自己需要输入 npm init 更改设置
name:填写你这个包的名字,默认是你这个文件夹的名字
version:你这个包的版本,默认是1.0.0
description:描述包是做什么用的,可以直接按回车
entry point:入口文件,默认是Index.js,你也可以自己填写你自己的文件名
test command:测试命令 ,直接回车
git repository:这个是git仓库地址 ,直接回车
keyword:包的关键字,直接回车
author: 作者,填写你自己的名字,或者直接回车
license:直接回车,开源文件
然后输入yes 即可
命令执行完毕后,会发现demo目录下多了一个package.json 的json文件
打开json文件
在红框处修改bin/demo.js, 前面的demo为启动命令的指令,这个随你心情。改好后保存
第四步 .使用cmd在demo目录下输入命令 npm install . -g 完成后 输入demo(这里为json中设置的那个启动命令)看到命令行中打印出了demo is run 即成功了 然后输入npm link 可以在全局使用命令了
第五步. 在demo目录下输入命令npm install commander inquirer --save 安装依赖
第六步.进入bin目录下修改demo.js,代码如下
#!/usr/bin/env node
console.log('命令行已启动')
const program = require('commander')
program.version('1.0.0')
.usage('<command> [项目名称]')
.command('init','初始化项目')
.command('g', '自动生成项目文件')
.command('r','删除项目文件')
.parse(process.argv);
保存后 任意目录下输入demo 即可进入命令行了
注:输入命令行,有可能报 SyntaxError: Invalid or unexpected token 这个错误。把demo.js的第一行删掉即可,这行代码只在Linux系统中避免nodejs没有全局安装,自动去找nodejs目录
这样,一个简单版的自定义命令行工具完成了,可以在demo代码中自己添加命令,一个command 对应一个命令,也对应一个文件 demo init 命令对应bin目录下的demo-init.js文件