当我使用npm install时,会安装某些包含嵌套节点模块的节点包。
像这样:
-node_modules
-packageA
+js
-node_modules <--- needs to be removed/ignored
+jquery
-packageA-sub1
+js
-node_modules <--- needs to be removed/ignored
+jquery
有没有办法指定哪些包不包含嵌套的作用域node_module?
在我的情况下,有些软件包包括jquery(packageA和packageA-sub1,sub2,sub3,sub4等),并且它搞乱了我的网站,因为我已经在我的一些插件中包含了jquery。解决此问题的唯一方法是手动删除packageA文件夹中的node_module文件夹。
我试过.npmignore但这似乎不起作用:
packageA/node_modules/
packageA/node_modules
/packageA/node_modules
/packageA/node_modules/
我正在使用npm 5.8
答案 0 :(得分:2)
当模块使用npm dedupe
node_modules
层次结构
文档描述npm dedupe
如下:
搜索本地包树并尝试简化 通过将依赖关系进一步向上移动整个结构, 多个依赖者可以更有效地共享它们 包。