2017-05-10 17 views
0

私はclean-webpack-pluginを使用して、ビルド直前に/distフォルダを削除し、は、フロー成功のコンパイルフェーズのみを削除します。フローコンパイルが成功した場合にのみclean-webpack-pluginを実行する方法は?

問題は、Flowがエラーをスローした場合でもクリーンなプラグインが実行されることです。

enter image description here

可能(コンパイル・エラーがあった場合、私は意味することは、「DIST」フォルダを削除しない)ことを修正するということですか?

./src/app.js

これを解決することができ
function init(a: number) { 
    //... 
} 
init("2"); 

./webpack.config.json

​​

答えて

0

一つの方法は、「を追加することにより、CleanWebpackPluginのコードを変更することです「」と表示されます。それは私のために働いていますが、それはすべての可能な場合に動作するかどうか私はわからない:

CleanWebpackPlugin.prototype.apply = function(compiler) { 
    var _this = this; 
    if (compiler === undefined) { 
    return clean.call(_this); 
    } else { 
    compiler.plugin("should-emit", compilation => { 
     if (_this.options.watch) { 
     compiler.plugin("compile", function(params) { 
      clean.call(_this); 
     }); 
     } else { 
     return clean.call(_this); 
     } 
    }); 
    } 
}; 

これはまた、あなたのWebPACKの設定ファイルに別のプラグインを使用する必要があります:NoEmitOnErrorsPlugin

+0

おかげで、I'LLをどこから 'NoEmitOnErrorsPlugin'をインストールすればいいのですか?私はnpmjsでそれを見つけることができませんhttps://www.npmjs.com/search?q=NoEmitOnErrorsPlugin –

+0

私はそれがwebpackにバンドルされていると思います。ここに設定ファイルのサンプルがあります: 'plugins:[new webpack.NoEmitOnErrorsPlugin()、...' – eemerge

関連する問題