webpack - 从命令行关闭手表

Veg*_*gar 3 webpack

我有一个 webpack 配置,设置为监视更改。

有时,我想只运行一次构建,然后退出。

我现在通过输入npm run dev(运行webpack --config <config.json>)来解决这个问题,然后Ctrl+C在第一个构建周期完成时点击。

是否有一个命令行开关可以用来推翻配置中的监视设置?像否定--watch开关之类的东西?一个--do-not-watch选择?

Mat*_*cca 5

@Vegar,我知道这个有点老了,但我想为那些仍在寻找这个的人提交一些代码。

以下是根据命令中是否存在某些内容来标记 webpack.config.js 中的 watch 属性的示例:

module.exports = {
    //...
    watch: (process.argv.indexOf('--watch') > -1)
    //...
}
Run Code Online (Sandbox Code Playgroud)

...然后我们在 package.json 中添加我们的变体:

{
    "scripts": {
        "build": "webpack --config webpack.config.js --mode='production'",
        "watch": "webpack --config webpack.config.js --mode='production' --watch"
    }
}
Run Code Online (Sandbox Code Playgroud)

...允许我们构建一次:

{
    "scripts": {
        "build": "webpack --config webpack.config.js --mode='production'",
        "watch": "webpack --config webpack.config.js --mode='production' --watch"
    }
}
Run Code Online (Sandbox Code Playgroud)

...或连续观看:

$ npm run build
Run Code Online (Sandbox Code Playgroud)