Node.js 如何制作像 npm、webpack 这种全局命令行脚步工具呢?

下来我来介绍下如何利用Node.js如何开发一个属于你自己的命令行工具。

  • 1. 首先先创建文件夹,并进入当前文件夹的终端
$ mkdir gby-cli
$ cd gby-cli
  • 2. 初始化配置文件
$ npm init -y
  • 3. 项目根目录下新建index.js

#!:叫做shebang或者hashbang,作用是加载。

当年创造 Unix 的人创造出来的,用于指定脚本的解释器(也可以干其他的事情)。
最初,算是一种历史环境下的妥协吧,但沿用至今了;不过,现在有一些人不建议在新项目中继续使用 shebang

#! /usr/bin/env node

console.log('Hello GBY')
  • 4. 设置脚本命令

package.josn添加,到时候执行gby的时候会执行index.js文件

"bin": {
   "gby": "index.js"
 },
{
  "name": "gby-cli",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "bin": {
    "gby": "index.js"
  },
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

    1. package.json中的bin下的命令链接的真实的环境,同时生成package-lock.json文件
$ npm link
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN [email protected] No description
npm WARN [email protected] No repository field.

up to date in 5.247s
found 0 vulnerabilities

/Users/gby/.nvm/versions/node/v10.20.0/bin/gby -> /Users/gby/.nvm/versions/node/v10.20.0/lib/node_modules/gby-cli/index.js
/Users/gby/.nvm/versions/node/v10.20.0/lib/node_modules/gby-cli -> /Users/gby/Documents/Dome/2021/gby-cli
  • 最后,随便在哪里打开一个目录执行命令gby

想要用该命令执行什么就可以用node写对应的逻辑了

推荐一个工具,由tj编写的Commander.js 点击进入github
可以帮助方便我们编写后面的代码,Vue Cli 就是基于Commander.js编写的

你可能感兴趣的:(Node.js 如何制作像 npm、webpack 这种全局命令行脚步工具呢?)