我正在使用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无关。我只是想念一些我在这里找不到的东西。 感谢您的帮助。
答案 0 :(得分:0)
变量在另一个文件中被覆盖,因此更改了其性质