如何从项目中将全局/环境变量设置为我自己的 npm 包/节点模块?

问题描述 投票:0回答:1

我已经为 React 制作了自己的 npm 包。我们将其称为@group/package
在那个包中,我制作了可导出的钩子。
作为示例,我创建了一个钩子,我们将其称为 useFetchWithRefreshToken。 在该钩子中,我将始终调用相同的 API_URL,但 API_URL 取决于我的项目。

我不想对所有需要获取的文件执行此操作。

const [load, loading] = useFetchWithRefreshToken({ url: API_URL + endpoint });

因此,我尝试使用环境变量,但正如我怀疑的那样,它不起作用。当我在包中运行 npm run build / npmpublish 时,可能会确定从 @group/package 访问的 process.env 值,而不是当我运行安装它的 React 应用程序时确定。

我可能可以通过 redux 在我的模块和项目之间共享数据,但我希望开发人员可以更轻松地填写。

.rc 或 .json 配置文件(例如 babel 或 eslint)将是完美的。

我该怎么做?

reactjs npm babeljs rollupjs
1个回答
0
投票

如果您尝试读取自己的配置文件,那么我建议使用 cosmic 配置库。因为它支持所有标准配置文件格式,并提供一个简单的标准 API,无论文件格式如何,都可以读取数据。

https://github.com/cosmiconfig/cosmiconfig

© www.soinside.com 2019 - 2024. All rights reserved.