build立Git对全局npm安装的依赖

Npm允许使用自定义的git URL来指定依赖关系(请参阅npm install package.json中的依赖关系来安装私有github存储库 )。

但是,这些依赖通常是打包并发布到npmregistry的,所以它们可以按名称安装。 这个发布过程通常包括在github中通常不可用的构build文件,缩小文件等。

使用自定义的git URL安装依赖项时,可能需要这些build,minify等文件,但是它们将不可用。

要生成这些文件,可以使用npm脚本在安装生命周期中运行一个钩子。 但是,我无法find适合此任务的脚本,如下所示:

  1. Prepublish不能在全局安装中运行。 它将被弃用,有利于prepareprepublishOnly
  2. 准备也只能在本地安装上运行。 ( 编辑:准备也运行在全局安装,不像在npm脚本文档中所说的)
  3. Prepacknpm packnpm publish以及在安装git依赖时 (如文档中所述 )运行。 但是,在全局安装(节点LTS版本:v6.11.0,npm版本(来自节点LTS):3.10.10)中尝试此脚本时未触发。
  4. 预安装和安装不是在最佳实践中推荐的:

不要使用安装。 使用.gyp文件进行编译,并预先发布其他任何内容。 您几乎不需要明确设置预安装或安装脚本。 如果你正在这样做,请考虑是否有其他select。 安装或预安装脚本的唯一有效用途是编译,必须在目标架构上完成。

  1. Postinstall将在包的本地安装中运行,这不是预期的行为。

prepare节点脚本是否有用。 然而,这个npm脚本只能从npm v5.0.0如下所示: https : //github.com/npm/npm/blob/dcc4273cadebe70f853e6d948a425978bc42e045/CHANGELOG.md#feature-summary