运行忽略父node_modules的Nodejs程序

and*_*ais 7 node.js node-modules

我有一个库,我想在发布到 npm 之前在本地进行完整安装来测试它。我想测试的一件事是所有依赖项是否都是项目的一部分。由于nodejs如何构建其模块系统,(在每个目录级别搜索nodejs模块)我没有一个好的方法来确保我需要的模块来自当前文件夹的node_modules,而不是父文件夹的node_modules 。

这是项目结构:

library-folder/
  package.json
  node_modules/
  testing/integration/
    package.json
    node_modules/
    test-install.js
Run Code Online (Sandbox Code Playgroud)

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

far*_*jad 0

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

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