gpt4 book ai didi

node.js - 从 NodeJS 应用程序中设置 NODE_PATH

转载 作者:IT老高 更新时间:2023-10-28 23:16:30 39 4
gpt4 key购买 nike

我们有一个 Node 项目,它不需要来自相对路径的我们自己的子模块,而是需要将 NODE_PATH 环境变量设置为 lib 来查找所有子模块。

我想在程序源代码中处理这个标准案例,但现在似乎不可能。

我发现了几个解决方案都没有按预期工作。

module.paths.push("./lib");

在另一篇 stackoverflow 文章中提出了建议,但这会在较新的 Node 版本中导致错误消息,并建议开发人员使用 NODE_PATH

相反,我尝试在程序的第一行执行以下操作。

process.env['NODE_PATH']="./lib";

这不会导致错误消息,但它也不起作用。我认为这个变量是在应用程序启动时读取的,而不是稍后在请求内容时读取的。

最佳答案

您可以从以下来源找到的所有信息:module.js

... NODE_PATH 错误仅在通过 require.paths 访问时引发。

搜索 _nodeModulePaths 函数:模块实例具有通用数组对象 paths,其中包含所有查找路径。

module.paths.unshift('./foo-baz');
var x = require('some-lib-name');
console.log(x);

所以现在,如果您在 ./foo-baz/some-lib-name/ 下有所需的模块,它将被正确拾取。

你有什么 Node 版本和什么系统?

关于node.js - 从 NodeJS 应用程序中设置 NODE_PATH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24953323/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com