Node.js 模块安装位置

Node.js module install location

是否可以在 node_modules 文件夹之外安装 node_module?

例如:我正在尝试安装 gulp,我想将 gulp 放在我工作区的单独文件夹中

workspace
|-gulp
|-node_modules
|  |- ...
|  |- ...

可能,但极度不明智。

你可以假设 fork the github repositoryrequire('./gulp') 而不是 require('gulp'),这样做会给你带来以下 有趣和激动人心的挑战 :

  • 你将不再拥有semantic versioning available through npm的力量。您和您的应用程序的消费者将被锁定在您决定分叉的 gulp 的确切(并且可能是任意的)提交中,并且...

  • 您必须对应用程序的 gulp 依赖项的任何和所有更新发出拉取请求。

  • 您必须提交您对项目的依赖。1 这只会使您的应用程序不必要地膨胀.

  • 当您将应用程序加载到资源有限(例如内存或磁盘限制 space)的远程服务时,您会浪费宝贵的房地产潜力来提高性能比如缓存等

如果您对以上所有内容都满意,那么请务必随意以这种方式组织您的应用程序结构。没有人阻止你!

当你这样做的时候,我敦促你也去检查头部是否受伤。

1. 我以前从未这样做过,但我假设您必须清除 [=16] 中的 .git 目录=] 在你甚至能够做到这一点之前,这本身就是一个麻烦。