检索 Strapi 插件中的环境变量

我开发了一个Strapi 本地插件,但无法检索项目根目录下的 .env 文件中定义的变量。我尝试在我的 React 组件 ( plugins/myPluginName/admin/src/containers/HomePage/index.js) 中加载这个值。

我尝试使用这样的全局进程模块:

process.env.my_variable

但它返回undefined

有任何想法吗 ?


有只小跳蛙
浏览 118回答 2
2回答

宝慕林4294392

显然,管理面板现在支持 dotenv 变量。只需在 .env 变量前加上 STRAPI_ADMIN_ 前缀,即可使用 process.env 来使用它。例如,STRAPI_ADMIN_KEY在 .env 中可用作process.env.STRAPI_ADMIN_KEY

拉丁的传说

默认情况下,.env 变量不会传递到客户端。您需要自定义 webpack config。为此:/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)  }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript