制作一个包含CLI和JavaScript功能的节点包
问题描述:
如何打包包含CLI和JavaScript API的节点,其中特定的逻辑根据其运行位置进行存储。制作一个包含CLI和JavaScript功能的节点包
这显然与大多数主要节点程序包非常相似,但是我一直无法在这种模式上找到任何讨论。
答
您可以添加任何JavaScript文件的开头家当线,例如考虑这个文件,hello.js:
#!/usr/bin/env node
function hello(name) {
console.log('hello ' + name);
}
/* if called directly from command line or from a shell script */
if (require.main === module) {
hello(process.argv[2]);
}
module.exports = hello;
注意,告诉你的shell如何执行的第一行代码。
您可以hello.js执行此命令:
chmod u+x hello.js
现在你可以调用它是这样的:
./hello.js joe
它会输出: “你好乔”。
您也可以使用相同的文件作为任何其他JavaScript文件中的Node.js依赖像往常一样:
const hello = require('./hello');
hello('joe');