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

时间:2016-01-11 02:25:22

标签: node.js

例如,我有以下结构

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

如果我在npm install <some package>中运行doTask1,则会在node_modules中创建新目录doTask1

现在在doTask2,我需要使用相同的软件包,是否需要再次在npm install <some package>中运行doTask2?它会在node_modules中创建另一个doTask2,这是重复的。管理此问题的正确方法是什么?

1 个答案:

答案 0 :(得分:5)

未使用相对路径引用的节点模块的NPM解析是首先检查当前目录,然后向上遍历每个目录,查找 node_modules 文件夹。

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

enter image description here

最后,您可以安装所需的软件包/模块全局 - 但是,这通常仅推荐用于您从命令行所需的软件包(例如gulp,webpack等)。在您的情况下,对于特定于应用程序的模块,最好将它们本地安装在 node_modules 文件夹下。

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

  • 请参阅&#34;从node_modules加载文件夹&#34; here
  • 稍微陈旧但相关的博文here