Webpack和环境变量评估?

时间:2020-07-27 16:39:50

标签: javascript heroku webpack environment-variables

我正在使用Webpack捆绑我的前端应用程序并从heroku加载环境变量。

可以在函数内部使用环境变量时对其进行解析,但是在外部对其进行评估并分配给const时则不能进行解析:

import...

   /*This line will fail with : 'VM286683:1 Uncaught SyntaxError: Unexpected token u in JSON at position 
    0 at JSON.parse (<anonymous>)'*/
const geoApiSecretKey = JSON.parse(process.env.GEO_API_SECRET!);


function getGpsPosition() {

  //That one will parse the JSON without any issue
  const local_geoApiSecretKey = JSON.parse(process.env.GEO_API_SECRET!);
  ...
}

我的webpack配置使用 DefinePlugin 加载环境变量:

...
plugins: [
        new CheckerPlugin(),
        new HtmlWebpackPlugin({template: 'index.html.ejs',}),
        new webpack.DefinePlugin({
            'process.env': {
                'GEO_API_SECRET': JSON.stringify(process.env.GEO_API_SECRET)
            }
        })
    ],

我想它与webpack或heroku无关。我只是想念一些我在这里找不到的东西。 感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

变量在另一个文件中被覆盖,因此更改了其性质