为了账号安全,请及时绑定邮箱和手机立即绑定

检索 Strapi 插件中的环境变量

检索 Strapi 插件中的环境变量

有只小跳蛙 2023-07-20 14:56:54
我开发了一个Strapi 本地插件,但无法检索项目根目录下的 .env 文件中定义的变量。我尝试在我的 React 组件 ( plugins/myPluginName/admin/src/containers/HomePage/index.js) 中加载这个值。我尝试使用这样的全局进程模块:process.env.my_variable但它返回undefined有任何想法吗 ?
查看完整描述

2 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

显然,管理面板现在支持 dotenv 变量。

只需在 .env 变量前加上 STRAPI_ADMIN_ 前缀,即可使用 process.env 来使用它。

例如,STRAPI_ADMIN_KEY在 .env 中可用作process.env.STRAPI_ADMIN_KEY


查看完整回答
反对 回复 2023-07-20
?
拉丁的传说

TA贡献1789条经验 获得超8个赞

默认情况下,.env 变量不会传递到客户端。您需要自定义 webpack config。

为此:

  1. /admin在项目的根目录创建一个文件夹,然后创建一个admin.config.js.

module.exports = {

  webpack: (config, webpack) => {

    // Add your variable using the DefinePlugin function

    config.plugins.push(

      new webpack.DefinePlugin({

        // ENVS that you want to use in frontend

        CUSTOM_VARIABLES: {

          variable1: JSON.stringify(process.env.variable1),

        },

      })

    );

    // Return the modified config

    return config;

  },

};

在你的反应组件中,你可以使用你的环境变量,如下所示:

class HomePage extends React.Component {


 constructor(props) {

   this.state = {

   env: { CUSTOM_VARIABLES }

   }


  logEnv() {

  console.log(this.state.env.variable1)

  }


}


查看完整回答
反对 回复 2023-07-20
  • 2 回答
  • 0 关注
  • 114 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信