【发布时间】:2021-08-26 09:39:51
【问题描述】:
Deno provides the 'deno install' command 可让您安装脚本,因此您可以从任何地方直接在终端中调用它们。
它的实际作用是:
此命令创建一个精简的可执行 shell 脚本,该脚本使用指定的 CLI 标志和主模块调用 deno。放在安装根的bin目录下。
NodeJS 生态系统有类似的工具吗?
【问题讨论】:
标签: javascript node.js deno
Deno provides the 'deno install' command 可让您安装脚本,因此您可以从任何地方直接在终端中调用它们。
它的实际作用是:
此命令创建一个精简的可执行 shell 脚本,该脚本使用指定的 CLI 标志和主模块调用 deno。放在安装根的bin目录下。
NodeJS 生态系统有类似的工具吗?
【问题讨论】:
标签: javascript node.js deno
使用 Node.js,您可以手动执行类似于 deno install 的操作(至少在 Linux/macOS 上)...
PATH 的某个位置
greet.js
#!/usr/bin/env node
console.log("Hello World!");
chmod +x ./greet.js
mv greet.js /usr/local/bin/greet
这假定/usr/local/bin 已经在您的PATH 中; “.js”扩展名被删除,因此您在使用时不必指定它
% greet
Hello World!
您还可以创建可作为 CLI 工具安装的 NPM 包(例如,使用 npm i -g <package-name>)。有各种关于做的博客文章。这是一个:Creating a CLI tool with Node.js。
【讨论】:
NodeJS 也有此内置功能,但该功能来自 npm,称为 "bin" scripts,在安装依赖项时可以相对或全局安装命令。
诀窍是在您的package.json 中添加一个名为“bin”的部分,然后它将为具有该名称的命令安装一个非常相似的瘦包装脚本。如果你全局安装依赖,它会安装一个全局命令,如果是本地的,那么脚本可以在本地调用npx。
例如here is one I did called hashicon
npm i -g hashicon-cli
hashicon --version
1.0.3
或者,如果您希望相对于该应用安装它,您可以使用 npx 调用它:
npm i hashicon-cli
npx hashicon --version
npx 将在调用脚本时将相对的./node_modules/.bin 文件夹添加到路径中。另外,在调用npm run脚本时会在路径中添加相对bin文件夹,所以你可以直接引用package.json"scripts"中的命令。
另外,相关地,我创建了一个 scripts script for Deno,您可以查看它,这样您也可以类似地拥有相对范围的 Deno 脚本。
【讨论】: