Webpack -p 与 --mode=production
Webpack -p vs --mode=production
正如我从 webpack 繁琐的文档中得到的 here webpack -p
将设置
- --为DefinePlugin
定义process.env.NODE_ENV="'production'"
- --将包含 TerserPlugin
的优化最小化标志
正如我从同一文档中得到的那样 here webpack --mode=production
将设置
- --为DefinePlugin
定义process.env.NODE_ENV="'production'"
- TerserPlugin
- FlagDependencyUsagePlugin
- FlagIncludedChunksPlugin
- ModuleConcatenationPlugin
- NoEmitOnErrorsPlugin
- OccurrenceOrderPlugin
- SideEffectsFlagPlugin
(粗体项是两个不同标志之间的共同行为。)
我可以将 --mode=production
视为 -p
的 "full" 版本吗?互联网上的一些指南使用 -p
,其他使用 --mode=production
,有些甚至两者都使用。
也很高兴知道 --mode=production
与 --mode production
是否有任何区别,因为对我来说这两个版本都工作得很好
此外,还有一个线程 ,它说 -p
"Run commands in parallel." 是节点的标志,与 webpack 的 -p
同名?
我正在使用 webpack ^4.41.2
Shall I consider --mode=production
as a "full" version of -p
? Some guides on the internet use -p
, other use --mode=production
and some even use both of them.
根据 CLI > Shortcuts 下的文档 -p
类似于 --mode=production
:
(取自此处的文档图片:https://webpack.js.org/api/cli/#shortcuts)
因此,无论是使用其中之一(还是两者都使用——但不推荐这样做,因为可能会引起其他人的混淆),您不应该在 webpack 的输出中看到任何差异。
您可以通过 运行 webpack 确认这一点,首先使用 -p
,注意输出文件的哈希值,然后对 --mode=production
执行相同操作,并比较哈希值。
这是我 运行 使用单个条目文件 index.js
进行的快速测试 console.log("HELLO")
:
如您所见,这两种情况的哈希值都是 de140f9e5092685464e8
。
诚然,这里的条目文件可能没有足够大的表面积来具体证明 -p
和 --mode production
产生相同的结果,但它应该足以证明概述的方法。
Also it would be great to know if --mode=production
has any difference versus --mode production
because for me both version work absolutely fine
两种指定标志及其值的方式没有区别:
$ webpack --mode production
$ webpack --mode=production # equivalent to the above
无论 webpack 使用什么标志解析库(甚至可能是定制的)都会为你处理这两种情况,所以你可以采用你喜欢的任何一种方法。这对于 CLI 来说是很常见的行为。
Also, there is a thread here, that says that -p "Run commands in parallel." Is that a flag to node, that has the same name as -p for webpack?
我相信这里引用的 -p
标志是针对 npm-run-all
库的,因为它在答案的示例中用作 npm 脚本,如下所示:
"test": "npm-run-all -p -r webdriver-start http-server protractor"
正如我从 webpack 繁琐的文档中得到的 here webpack -p
将设置
- --为DefinePlugin 定义process.env.NODE_ENV="'production'"
- --将包含 TerserPlugin 的优化最小化标志
正如我从同一文档中得到的那样 here webpack --mode=production
将设置
- --为DefinePlugin 定义process.env.NODE_ENV="'production'"
- TerserPlugin
- FlagDependencyUsagePlugin
- FlagIncludedChunksPlugin
- ModuleConcatenationPlugin
- NoEmitOnErrorsPlugin
- OccurrenceOrderPlugin
- SideEffectsFlagPlugin
(粗体项是两个不同标志之间的共同行为。)
我可以将 --mode=production
视为 -p
的 "full" 版本吗?互联网上的一些指南使用 -p
,其他使用 --mode=production
,有些甚至两者都使用。
也很高兴知道 --mode=production
与 --mode production
是否有任何区别,因为对我来说这两个版本都工作得很好
此外,还有一个线程 -p
"Run commands in parallel." 是节点的标志,与 webpack 的 -p
同名?
我正在使用 webpack ^4.41.2
Shall I consider
--mode=production
as a "full" version of-p
? Some guides on the internet use-p
, other use--mode=production
and some even use both of them.
根据 CLI > Shortcuts 下的文档 -p
类似于 --mode=production
:
(取自此处的文档图片:https://webpack.js.org/api/cli/#shortcuts)
因此,无论是使用其中之一(还是两者都使用——但不推荐这样做,因为可能会引起其他人的混淆),您不应该在 webpack 的输出中看到任何差异。
您可以通过 运行 webpack 确认这一点,首先使用 -p
,注意输出文件的哈希值,然后对 --mode=production
执行相同操作,并比较哈希值。
这是我 运行 使用单个条目文件 index.js
进行的快速测试 console.log("HELLO")
:
如您所见,这两种情况的哈希值都是 de140f9e5092685464e8
。
诚然,这里的条目文件可能没有足够大的表面积来具体证明 -p
和 --mode production
产生相同的结果,但它应该足以证明概述的方法。
Also it would be great to know if
--mode=production
has any difference versus--mode production
because for me both version work absolutely fine
两种指定标志及其值的方式没有区别:
$ webpack --mode production
$ webpack --mode=production # equivalent to the above
无论 webpack 使用什么标志解析库(甚至可能是定制的)都会为你处理这两种情况,所以你可以采用你喜欢的任何一种方法。这对于 CLI 来说是很常见的行为。
Also, there is a thread here, that says that -p "Run commands in parallel." Is that a flag to node, that has the same name as -p for webpack?
我相信这里引用的 -p
标志是针对 npm-run-all
库的,因为它在答案的示例中用作 npm 脚本,如下所示:
"test": "npm-run-all -p -r webdriver-start http-server protractor"