我最近开始评估webpack . 之前使用过grunt我习惯了这样一个事实:我可以用各种参数开始咕噜咕噜来配置构建过程中会发生什么 . 例如:
grunt watch
将运行调试版本并启用监视任务 . 而:
grunt build
将触发完全最小化的 生产环境 构建,该构建禁用所有特定于开发的功能 .
我想知道 webpack 是否有类似的功能,让我可以轻松地在不同的配置之间切换 . 我已经做了一些研究,但我不喜欢到目前为止看到的方法:
-
我在调用
webpack
之前看到了一个指定NODE_ENV=production
的建议,但这不是平台独立的(例如在Windows上不起作用) . -
使用
-p
开关,但这似乎只影响最小化 -
为webpack使用单独的配置文件,但我更喜欢一个解决方案,我不需要维护两个单独的文件 .
我知道webpack实际上并不是一个像grunt或gulp这样的任务运行器,而是一个模块捆绑器 . 但它被提升为grunt或gulp see this Medium.com Blog的替代品 .
我真正希望看到的是使用 webpack watch
获得开发构建的能力以及使用 webpack
或 webpack build
的 生产环境 构建可以使用webpack
1 回答
首先,如果您使用webpack-dev-server,很容易理解您处于开发模式:
第一个条件是Linux / mac,第二个是Windows .
然后使用它来配置您的文件 .
如果您没有使用dev服务器,您可以在运行webpack时传递任何参数,就像使用任何nodejs脚本一样(我使用minimist读取参数,但它只是一个糖,不需要):
然后以这种方式调用它:
这实际上是一种非常灵活的做很多事情的方法,而不仅仅是指定开发模式 . 我还使用它来指定包名称等 . 您唯一需要关心的是避免使用webpack本身提供的参数 .