使用node.js,如何跨模块pipe理npm?

例如,我有以下结构

main -- doTask1 -- task1-1.js -- task1-2.js -- doTask2 -- task2-1.js -- task2-2.js 

如果我在doTask1运行npm install <some package> ,则在doTask1创build一个新的目录doTask1

现在在doTask2 ,我需要使用相同的包,我需要在doTask2再次运行npm install <some package>吗? 它将在doTask2创build另一个node_modulesdoTask2 。 什么是正确的方法来pipe理呢?

没有引用相对path的节点模块的NPMparsing是首先检查当前目录,然后从当前查找每个目录遍历node_modules文件夹。

所以在你的情况下,如果你想要相同版本的包/模块,只需安装在main

在这里输入图像描述

最后,您可以在全局安装所需的软件包/模块 – 但是,通常只build议您从任何地方(例如gulp,webpack等)通过命令行来了解所需的软件包。 在您的情况下,对于特定于应用程序的模块,最好将它们保存在本地安装在node_modules文件夹下。

关于安装npm软件包的一些有用的NPM文档:

  • 请参阅“从node_modules文件夹加载”
  • 一个稍微旧但相关的博客post在这里