参考博客:http://t.csdn.cn/D3qui
const now = new Date();
console.log(`现在的时间是: ${now.toLocaleTimeString()}`);
npm init
npm link
#!/usr/bin/env node
//commander插件,用于解析命令行参数
const { program } = require('commander');
//当在终端使用 showtime -s 或者 showtime --save时会显示save something
//这个方法就是添加帮助项,表示传递的参数,使用时应该这样使用 showtime -s xxxx 或者 showtime --save xxxx
program.option('-s --save ' , 'save something');
在命令行里输入showtime -s就会
error: option '-s --save ' argument missing
#!/usr/bin/env node
//commander插件,用于解析命令行参数
const { program } = require('commander');
program
.command('show')
.description('显示时间')
.action(() => {
const now = new Date();
console.log(`现在的时间是: ${now.toLocaleTimeString()}`);
});
program.parse(process.argv);
输出:
PS D:\MyScript> showtime show
现在的时间是: 下午3:34:26
process.argv是一个包含命令行参数的数组。在Node.js中,当我们在命令行中运行一个脚本时,可以在命令行中传递参数,这些参数会被存储在process.argv数组中。
process.argv数组的前两个元素是固定的,分别是Node.js的可执行文件路径和当前脚本的文件路径。从第三个元素开始,就是命令行中传递的参数。
例如:
console.log(`process.argv[0]: ${process.argv[0]}`)
console.log(`process.argv[1]: ${process.argv[1]}`)
console.log(`process.argv[2]: ${process.argv[2]}`)
console.log(`process.argv[3]: ${process.argv[3]}`)
输出:(中间的文件夹名用bala...bala
省略了)
process.argv[0]: D:\bala...bala\nodeTool\node.exe
process.argv[1]: C:\Users\bala...bala\showTime.js
process.argv[2]: show
process.argv[3]: undefined
program.parse(process.argv)是commander库中的一个方法,用于解析命令行参数。在使用commander库时,我们通常会定义一组命令、选项和参数,然后使用program.parse(process.argv)方法解析命令行参数,根据参数执行不同的逻辑。
action 是 commander 包中 command 对象的一个方法,用于定义当命令被调用时将执行的函数。
要获取程序运行时的当前工作目录,可以使用 Node.js 的 process.cwd() 方法。这个方法返回一个字符串,表示当前工作目录的路径。
console.log(`process.cwd: ${process.cwd()}`)
输出:
process.cwd: D:\bala...bala