要求链接的npm模块的依赖不起作用?

时间:2017-12-14 17:50:45

标签: node.js npm dependencies

我的本​​地模块A使用npm link链接到本地​​模块B. 并且模块B作为依赖性做出反应。 当模块A需要响应时,找不到模块。

如果这个'正常'包(没有npm链接)模块A在安装模块B时会在node_modules下得到反应。

使用npm link时是否有任何方法可以要求模块A做出反应,而无需手动将其列为依赖项?

1 个答案:

答案 0 :(得分:2)

简答:否。

更长的答案: npm link只需通过全局文件夹在模块A的node_modules中创建符号链接。它没有像npm install那样提供任何依赖性解析/安装/展平。例如,如果您同时在模块A和B上进行开发,这很有用;对模块B中已安装软件包的更改不需要在A中重新解析/安装/展平软件包树。

在运行A并有效使用A中B的依赖关系时,您可能会弄乱NODE_PATH环境变量以指定模块B的node_modules作为require的源。 / p>

但是,请重新考虑为什么要创建这样的隐形依赖项。您正在选择打破模块的封装。如果模块A需要react,则A需要在package.json中指定。当您稍后决定将模块A用于其他不包含B的项目时,没有问题。当您决定从模块B中删除react时,您不会破坏A。

相关问题