Node.js 的热门之处就在于其命令行开发能力。
一个在 shell
下编码的程序员绝对要比在常规编辑器上编码的程序员酷!
基础环境
- win10 x64
- node.js
- npm
hello world
一切从 hello world
开始!
|
普通的 node.js 脚本需要使用node 文件名
的形式执行,在脚本首行加上#!/usr/bin/env node
可以在linux
环境中指定脚本的解释程序。
|
全局命令
以上的做法只能在特定的目录下执行该脚本文件,如果想做到如node
般的无处不在,需要借用npm
了。
在当前目录新建package.json
,如下编码:
|
然后执行npm link
命令,将会把以上配置注册到全局,这样在任何一个目录都可以调用hello
输出hello world
了。
命令行参数
光有特定命令名也只能执行一项特定任务,现在该实现多态了。
写一个小工具吧。
需求很简单,执行run name
打开对应的应用程序。
新建文件config.json
、run.js
,config.json
用于配置应用程序的路径。
|
先拿企鹅开刀,在config.json
文件中配置qq.exe
的绝对路径。
另外别忘了在package.json
中添加run.js
。
|
使用系统变量process.argv
获取输入参数,引用fs
模块用于读取配置文件,child_process
模块用于执行系统命令。
可为什么参数索引是 2 呢?难道命令行索引从 1 开始吗?
其实是因为我们实际执行的命令还是
node run name
,node
索引为 0。
开始测试。
|
企鹅登录窗口应声而出。
如果还需要其他应用程序的命令行启动可以在config.json
中添加新的配置项。
以上代码使用的是 node.js 原生的命令行模块,还有一些更方便的包装模块,参考:阮一峰 - Node.js 命令行程序开发教程。