嗨,我想从非当前目录访问 npm 模块。全局模块不是解决方案,因为它们涉及依赖性。我想要一个包含我已下载的所有模块的容器,并将 require
重定向到该目录而不是当前目录。这样我的所有项目都可以在相对路径中搜索模块,例如 ../
。
最佳答案
在这里您可以使用npm link
.
例如,
假设您在 /User/you/modules
中有 10 个本地 Node 包存储库(每个包内都有 package.json
),并且您的项目位于 /用户/您/项目
。
您需要做的就是将 /User/you/modules
目录中的所有模块链接到 /User/you/project
。
cd /User/you/project
find /User/you/modules/* -type d -maxdepth 0 -exec npm link {} \;
现在,您可以在 /User/you/project
中使用 /User/you/modules
中的所有模块,无需相对路径。
所以,你现在可以了;
require('package-name')
package-name
is taken frompackage.json
, not from directory name.
而不是;
require('../modules/package-name')
干杯。
关于node.js - 如何重定向在其他目录中搜索node_modules,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41608746/