2015-04-08 29 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位現在的作品:) –