gpt4 book ai didi

javascript - Webpack:-p vs NODE_ENV=production vs process.env.NODE_ENV

转载 作者:行者123 更新时间:2023-11-29 19:09:09 25 4
gpt4 key购买 nike

我有 an issue在生产环境中使用 webpack,我对在生产环境中运行 webpack 的不同方式感到困惑(我使用的是 Windows)。

谁能解释一下它们之间的区别:

一:命令行

  • webpack -p

二:命令行

  • SET NODE_ENV=production
  • webpack

三:webpack.config.js

new webpack.ProvidePlugin({
'process.env': {
NODE_ENV: JSON.stringify('production')
}
})

我正在使用 React,需要构建一个生产版本,它既经过缩小又包含 React 的生产版本。

最佳答案

SET NODE_ENV=production 在服务器上将 NODE_ENV 环境变量设置为“production”。编译和捆绑 javascript 源文件的机器。例如,它可以为生产环境选择不同的 webpack 配置文件。

但是当这段 javascript 代码实际运行时,这个环境变量没有任何作用。因为 javascript 代码将在不同机器的浏览器上运行。

providePlugin有助于在浏览器中设置 NODE_ENV 变量。你的 javascript 实际运行的地方。实际上,它真正做的是用 "production" 替换 process.env.NODE_ENV 的出现,而不是设置变量。但效果是一样的。

编辑:实际上是DefinePlugin应该用于此目的。

Webback -p 宣传做上面的第二个,但似乎有 some issues .

关于javascript - Webpack:-p vs NODE_ENV=production vs process.env.NODE_ENV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40469659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com