NPM安装不嵌套依赖项

时间:2019-03-08 11:53:33

标签: node.js npm

我在使用npm时遇到了一些麻烦。我正在为我的应用创建一个新文件夹,然后是npm init。我想将gulp添加到我的依赖项中,因此我运行npm install --save-dev gulp。现在,当它创建node_module文件夹时,我期望它包含一个gulp文件夹。但是它的作用是安装所有这样的软件包:

screenshot of the node_modules folder hierarchy

当我开始学习npm时,我想知道这是否是正常行为?如果是,是否可以组织此活动?

非常感谢

1 个答案:

答案 0 :(得分:1)

是的,扁平化的node_modules树是当今(几年以来)的正常行为。如果您真的真的真的不想这么做,可以尝试npm install --legacy-bundling,但是...请不要。 :)

您无需研究node_modules或担心其组织(除非出现问题),这可以通过npmyarn(或您使用的任何软件包管理器)来完成重新使用)。

在嵌套模块彼此不兼容的情况下,您仍然可以在其中找到嵌套模块,例如如果package1依赖于tool版本1,而package2依赖于tool版本2,则可能以

结尾
node_modules/
  package1/
  package2/
    node_modules/
      tool/       <- version 2
  tool/           <- version 1

但是,一切(通常)都可以正常工作。