2017-08-03 146 views
1

當我安裝NPM包這樣的:NPM安裝差別

npm install ngx-popover 

我flattern文件結構。

但是,當我直接從github上安裝這樣的:

npm install github:pleerock/ngx-popover 

我收到了同樣的文件結構,在原來的回購。

所以我在這個隱藏的步驟中做出了更平坦的文件結構呢? 我在package.js上找不到任何postinstall。有人可以解釋爲什麼這是hapenig嗎?

回答

1

在做npm install ngx-popover時,您正在查詢npmjs.org的registry,其中包含指向壓縮包(tarball)版本的鏈接。

如果你從github安裝它,npm是「簡單地」克隆版本庫。

這裏真正的魔法發生在gulpfile.js。這個項目的作者已經制作了一個自動化的腳本,它清理了源代碼並創建了一個可以打包併發布到npmjs註冊中心的扁平化版本。

+0

好的,謝謝!如果我想分叉這個模塊,我需要做些什麼,然後用固定的代碼替換原來的。爲什麼這個自動構建腳本不是從我的分支項目中調用的? – Romick

+0

*(注意:以下說明是特定於此包的)*您應該從包文件夾內運行'npm install',它將安裝dev依賴項。然後,嘗試運行'gulp -T'(如果你還沒有安裝'npm install -g gulp',請安裝gulp)。它應該打印可用的命令。在這種情況下,它看起來像'gulp package'會做你想做的事情。 – Teh