有没有一种方法可以限制node.js在执行时仅查看特定目录下的node_modules文件夹?

时间:2019-07-03 20:38:59

标签: node.js

我有这样的文件夹结构:

  • root /
  • root / node_modules /
  • root / file1.js
  • root / folder1 /
  • root / folder1 / file2.js
  • root / folder1 / node_modules /

file1.js和file2.js需要相同的软件包X,但版本不同。 (文件1需要X@1.0,文件2需要X@2.0)。这些软件包还共享多个具有相同名称的子软件包。

file1.js在内部调用file2.js。这样做时,file1.js使用root / node_modules /并导致错误,因为file2.js需要使用root / folder1 / node_modules /。

当使用cli从folder1内部执行file2.js时,效果很好。

有没有一种方法可以限制代码仅使用特定的“ node_module”文件夹?

1 个答案:

答案 0 :(得分:0)

是的,您可以使file2.js进入其自己的node_modules文件夹。

file2.js中,您可以指定目标node_modules,而不是通常的模块要求:

// file2.js
const X = require('./node_modules/X');