npm 將支援 "scoped packages"

其實本來是希望這篇是 v0.12 的釋出公告,不過最近的狀況實在是讓人摸不著頭緒,除了活絡度明顯下降之外,釋出日期也遙遙無期,希望 core team 可以加加油啊...

btw, 最近剛好看到 npm 直接跳了大版號,所以稍微進去看了一下。

不過這也不是重點 #炸
昇大版號主要是 npm run-script 開始支援參數


不過在翻 changelog 的時候發現到另一個有趣的東西 - scoped packages,也可以參考 nodejitsu 整理的文章

主要是針對許多企業 or 較大型的開發團隊,一直有 private registry 的需求,其實目前也有不少方式可以做到,不過不需要自己 hack 一層直接在 npm 中支援當然是最好不過的,看來 npm 團隊打算著手來處理這個需求了,然後就是上面提到的 scoped packages 這個東西。

@registry/package - 就是這樣而已 XD

  • @ 來區分是 scope package,這樣很清楚可以知道到底引用的是 public or scope
  • 每個 @registry 都會對應到一個 registry,所以如果你要用 private registry,就把 @org 對應的 registry 設定到 npm config 裡面
  • 安裝的目錄也會區分,會放到 node_modules/@registry/package 下面
  • public package couldn't depend on scoped package
  • 簡單說,讀取順序會是:(@registry有指定) private registry -> (@registry沒指定) default registry
  • scoped package != private package

目前在 npm 1.5.0-alpha0 之後的版本都已經支援,不過我猜之後應該會有個官方公告才對,看起來是個頗大的變化。至於目前只有 client 端支援,如果想在內部試用的話,可以考慮一下手腳很快的 cnpm ;p


update

npmjs 有放一段展示影片,有興趣的可以看一下實際運作的情形:

Ferrari Lee

Read more posts by this author.

Subscribe to Ferrari != Ferrari

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!