2017-08-03 107 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