Saturday, November 17, 2012

初嘗Node.js開發管理package.json

發佈自己的程式時,如何解決相依套件的問題是很麻煩的。套件的相依性,簡單來說就是我的程式需要哪些套件,要用什麼版本。最近看到node的npm管理方法,令人驚艷。

開發npm的套件時,需要package.json,這個檔案包含package的各種資訊,如作者和依賴的套件。顧名思義,package.json就是個json,結構也很簡潔。

這裡有官方的文件,我節錄和套件有關的重要的package.json片段,

{ "dependencies" :
  { "foo" : "1.0.0 - 2.9999.9999"
  , "bar" : ">=1.0.2 <2.1.2"
  , "baz" : ">1.0.2 <=2.3.4"
  , "boo" : "2.0.1"
  , "qux" : "<1.0.0 || >=2.3.1 <2.4.5 || >=2.5.2 <3.0.0"
  , "asd" : "http://asdf.com/asdf.tar.gz"
  , "til" : "~1.2"
  , "elf" : "~1.2.3"
  , "two" : "2.x"
  , "thr" : "3.3.x"
  }
}

從上表我們可以發現,指定相依套件的方式很有彈性。可以指定特定版本,也可以指定某個區間。

設定完成後,只需要用以下指令,npm就會幫忙把套件裝到package所在的目錄下,對於開發者來說實在是很方便:)

npm i