Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在加载期间处理webpack环境变量?_Webpack - Fatal编程技术网

如何在加载期间处理webpack环境变量?

如何在加载期间处理webpack环境变量?,webpack,Webpack,在创建/构建网页包时,如何将ENV变量传递到代码中是非常清楚的。请参阅此现有线程: 但是,我想知道是否有一种方法可以让已经打包/捆绑的.js代码根据在ENV vars中读取的内容更新所使用的变量,而不必使用不同的ENV vars进行另一个webpack/构建 情景: 开发构建webpack.config构建,其中: 新的webpack.DefinePlugin({ 'APISECRET':JSON.stringify(process.env.APISECRET | | |'mydevapise

在创建/构建网页包时,如何将ENV变量传递到代码中是非常清楚的。请参阅此现有线程:

但是,我想知道是否有一种方法可以让已经打包/捆绑的.js代码根据在ENV vars中读取的内容更新所使用的变量,而不必使用不同的ENV vars进行另一个webpack/构建

情景:

  • 开发构建webpack.config构建,其中:
    
    新的webpack.DefinePlugin({
    'APISECRET':JSON.stringify(process.env.APISECRET | | |'mydevapisecretkey')
    }),
    
    这将创建web包文件,该文件将获取我的开发环境密钥,并托管在开发环境web服务器上
  • 获取这些完全相同的文件,并将它们移动到一个生产环境中,在该环境中,托管Web服务器上的APISECRET ENV具有生产值
  • 问题:现在捆绑的代码仍然引用来自开发环境的值,即使主机上存在APISECRET ENV变量的新值


    如果这是不可能的,最好知道是否有其他解决方案。这是根据12因素最佳实践得出的:

    这有帮助吗?由于太多的规则,我很难给出我的答案,但我认为答案是存在的。有人出于某种奇怪的原因也否定了它。想想看:-)老兄,我也在到处寻找如何解决这个问题。如果你发现了,就告诉我!看起来clientconfig可以做到这一点,但正如前面提到的,我有点担心安全方面,因为它存储为cookie。它说它会立即删除它,但是这个秘密会在客户端的web浏览器上显示吗?