1. 程式人生 > >用 nodejs 寫命令列工具

用 nodejs 寫命令列工具

npm 不僅可以管理 nodejs 的依賴關係,它還可以用來打包和分發命令列工具!

  1. 建立一個新的 npm 專案:

    $ npm init

給應用起一個名字:ser,其他輸入項都直接回車,用預設內容。最後,建立了檔案 package.json:

{
  "name": "ser",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}

建立檔案 index.js:

#!/usr/bin/env node

console.log('Hello World!')

為了生成可執行的命令,現在修改 package.json,增加 bin 屬性:

"bin": {
  "ser": "./index.js"
}

接下來就可以安裝了:

$ sudo npm install -g
$ ser
Hello World!

看看都安裝了什麼:

$ which ser
/usr/local/bin/ser
$ readlink /usr/local/bin/snippet
../lib/node_modules/ser/index.js

在當前目錄下,檢視:

$ sudo npm link
npm WARN [email protected] No description
npm WARN [email protected] No repository field.

up to date in 1.409s
found 0 vulnerabilities

/usr/local/bin/ser -> /usr/local/lib/node_modules/ser/index.js
/usr/local/lib/node_modules/ser -> /home/hu/tmp2/t/t/tmp

當程式滿意之後,你可以使用 npm publish 命令,將其釋出到 npm 公共庫(public npm registry)。然後,別人就可以通過下面的命令來安裝你的指令碼程式:

$ npm install -g ser