【问题标题】:How do I access the process.env object of the importing class in an imported npm package?如何在导入的 npm 包中访问导入类的 process.env 对象?
【发布时间】:2020-08-20 11:49:34
【问题描述】:

我有一个 react 应用程序,它使用 dotenv 设置了一堆 process.env 变量。当它的源代码在同一个源代码仓库中并通过“../component/component_name”导入时,每个组件都可以通过使用 process.env.variable_name 来访问 process.env 变量。我们决定将组件分解为单独的 NPM 包,以便独立于主 repo 更新它们。现在,当我们从本地 NPM 导入它们时,它们会集成到 node_modules 并运行,但无法访问 process.env 变量。 process.env 显示为一个对象,但其中没有任何内容。我们在发布之前使用 webpack 构建包。

【问题讨论】:

    标签: javascript node.js reactjs npm node-modules


    【解决方案1】:

    在组件内部,你可以这样做:

    import process from "process";
    
    const env = process.env;
    
    export default env;
    

    【讨论】:

    • 这不会做任何事情。在 app.js 中我可以访问 process.env.API_URL,但是如果我尝试从 node_modules 访问组件中的 process.env.API_URL,它将返回 undefined 和以前一样没有这些行。
    • 如果你使用 => 从“进程”导入进程; console.log(process.env),
    • 它正在返回一个空对象。
    • 经过一番搜索后找到的信息(可能很有用):当您构建/转换节点模块时,您无法读取“process.env”数据。
    猜你喜欢
    • 2021-10-06
    • 1970-01-01
    • 2016-06-22
    • 2020-06-10
    • 2017-03-15
    • 2018-03-08
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    相关资源
    最近更新 更多