创建一个 Node.js CLI


今天咱们要谈论创立 node.js 可履行文件。

我想拥有一个我在我的计算机上打字,然后把它变为其间的一个小熊表情。

Node.js CLI
Node.js CLI

目前能够看到我的机器上没有此指令,咱们开端动手写一个

开端

预备工程

mkdir node-cli
cd node-cli
touch cli.js
touch be: ] X W 8 B y N oars.txt

bears.txt:

•ᴥ•l B d { / i O  +
ᴥ
ᴥ

(● ̄(エ) ̄ ●)
⊂(Y % E $・(ェ)・)⊃
• ᴥ•  
•ᴥ•
(●`・(エ)・ ●)
ノ•ᴥ•ノ ︵ ┻━┻

c= * x v @li.js

#!/usr/bin/env node
const fs = require("fs");
fs.* T E k ireadFile("bears.txt", (e] k | E h _ n =rr, data) => {
cons6 1  t bears = dat? o W * G t n aa.toString().split("n");
const bear = bears[Math.floor(Math.random() * bears.length)];
console.log(bear);
});

让咱们把一切的代码逐行说说。

  1. #!/usr/bin/env node 是一个 shebang 行的实c 1 e例,它6 X c T告知咱们的体系用什么解释器来履行该文件
  2. fs.readFile(...) 引用 fs 模块读取文件 bears.txt 内容R m – H h r [ A
  3. const bears = ... 将文件流通换成字符串,用换行符(n)切割字符串成为数组
  4. const bear = ...bears数组随机取出一个元素
  5. console.log(bear); 在操控台中打印出取出的元x w c d x ] b a

履行 node cli.js 结果如下

Node.js CLI

每次随机打印出一个小熊

到现在咱们还不能履行这个文件,履行./cli.js 不会有任何结果,这是因为当时文件还是不可履行的。

Node.js CLI

咱们经过chmod +x cli.js 来修正当时文件能够履行

Node.js CLI

这个时分咱们就能够履行 ./cli.js

回到最初想法,咱们想在指令行输入 beab ) + / n krme 就会履行 cli.js 这时分需求添加package.json 信息

npm init -y

修正Z & ) s如下:

{
"name": "bearme",
"versionF n ! p y": "1.U v d1.0",
"descri& 2 l ^ 8ptY L d L 8 +ion": "",
"main": "cli.js",
"bin": {
"bearme": "r ) K 6cli.js"
},
"scripts": {
"start": "n[ H q wode index.js",
"test": "node test.js"
},
"preferGlo% @ U ! @ Bbal": true,
"author": "",
"licenseO & o 7  n": "MIT"
}

这个时分还不能大局履行,想要大局能够履行有两种办法

  1. 发布这个包到npmjs.com,然后大局装置 npm i bearme -g
  2. 使用npm link 创立一个大局连接

发布 CLI 到 NPM

在布置之前,咱们需求在 package.json 中添加一些信息。

"homepage": "YOUR GITHUB REPO OR SI& 5 ^ FTE HERE",
"repS u ^ Oo= J n ]sitory": {
"type@ T o Z X V : 2": "git",
"url": "git+YOUR GITHUB REPOSITORY HERE"
},
"engine i ! j 6 y d ?s": {
"node": ">=8"
},
  • homepage 和 repository 要填写你自己的 GitHub 项目地址
  • engines 确认 nodejsf # $ 7 W 7 W s 版别号,简略地定义了你的项目应} o % ,该在最小版别的节点上工作。 版别号取决于你用了那些版别的特性。

下面是接下来的过程。

  • npmjs.com 上创立一个账户(可选,如果有能够疏忽)
  • 运行 np# , k I $ ;m login 指令并输入你的信息
  • 运行 npm publish 指令,它将在几分钟内自动发布。

npm link

和上面办法二者选其一,在当时目H & 9 c 9 N录下履行 npm link

履行bearme 看看效果

bearme

便是这样! 动手创立了一个指令行东西

参考

  1. Creating a Node.js CLI

发表评论

提供最优质的资源集合

立即查看 了解详情