我有一个库,我想通过发布到npm之前在本地进行完整安装来对其进行测试。我要测试的一件事是,是否所有依赖项都属于项目。由于nodejs如何构造其模块系统,因此(a nodejs module is searched for at every directory level)我没有一个很好的方法来确保所需的模块来自当前文件夹的node_modules,而不是父文件夹的node_modules。

这是项目结构:

library-folder/
  package.json
  node_modules/
  testing/integration/
    package.json
    node_modules/
    test-install.js


我想知道是否有一种方法可以告诉nodejs仅要求当前目录中的模块,而忽略任何父目录。

最佳答案

我没有很好的方法来确保我需要的模块来自当前文件夹的node_modules,而不是父文件夹的node_modules。


为此,您可以使用require.resolve并检查其返回的路径。

08-17 12:51