2015-04-08 28 views
9

使用jshint-loaderWebpack,当JSHint发出警告时,如何使webpack命令失败?当jshint发出警告时,如何让Webpack退出时出错?

上下文是,我希望如果linting检测到问题,将失败CI构建。

目前,我干脆的WebPack配置上的JS文件的预加载运行jshint装载机:

// webpack.config.js 
module.exports = { 
    module: { 
    preLoaders: [ 
     { 
     test: /\.js/, 
     exclude: /node_modules/, 
     loader: 'jshint-loader', 
     }, 
    ], 
    }, 
}; 

回答

4

首先,jshint装载机必须配置的情况下,问题的失败被发现(failOnHint: true),可选也可以选择发出警告作为Webpack错误(emitErrors: true)。

// webpack.config.js 
module.exports = { 
    module: { 
    preLoaders: [ 
     { 
     test: /\.js/, 
     exclude: /node_modules/, 
     loader: 'jshint-loader', 
     }, 
    ], 
    }, 
    jshint: { 
    emitErrors: true, 
    failOnHint: true, 
    }, 
}; 

其次,必须的WebPack被告知发生故障的硬盘,通过提供--bail选项:webpack --bail

更新:

webpack --bail仍然没有发出一个非零退出代码,哎呀。

+0

嗯,当我向配置中添加一个jshint选项时,webpack怎么会抱怨''jshint'不允许'? –

+0

啊,因为webpack验证器,我需要添加一个自定义规则到验证器模式。 https://github.com/js-dxtools/webpack-validator#schema –

+0

--bail位现在的作品:) –