【问题标题】:How to set multiple env variables for webpack?如何为 webpack 设置多个环境变量?
【发布时间】:2018-02-12 13:50:34
【问题描述】:

有谁知道如何为 webpack 提供多个环境变量?我试图运行以下脚本但没有成功。

"cross-env NODE_ENV=production DTM_ENV=staging webpack --config internals/webpack.prod.babel.js --color -p --progress"

console.log(process.env) 上只显示NODE_ENV: "production"

【问题讨论】:

  • ./node_modules/.bin/cross-env A=1 B=2 node -p process.env 适合我。您使用的是什么操作系统?也许尝试将 webpack --config internals/webpack.prod.babel.js --color -p --progress 放在单独的 npm 脚本中。
  • 我尝试将它放在一个 diff npm 脚本中,结果相同。
  • 你有最新版的cross-env吗?
  • 我在此期间找到了解决方案,Webpack在构建后看不到这些变量,可能是因为我使用了UglifyJS。所以我们可以通过将它们暴露给 Webpack 来使用这个 env vars。

标签: javascript node.js webpack-dev-server webpack-2


【解决方案1】:

构建完成后,Webpack 无法访问 env 变量,因此您需要通过将其添加到 Webpack 配置中 plugins: 来公开这些变量

new webpack.DefinePlugin({
  'process.env': {
    NODE_ENV: JSON.stringify(process.env.NODE_ENV),
    DTM_ENV: JSON.stringify(process.env.DTM_ENV),
  }
})

【讨论】:

    猜你喜欢
    • 2020-02-14
    • 2018-08-31
    • 1970-01-01
    • 1970-01-01
    • 2014-11-29
    • 1970-01-01
    • 2011-02-13
    • 2018-09-25
    • 2011-12-30
    相关资源
    最近更新 更多