2016-10-10 1 views
2

Ab und zu bauen, ich sehe etwas wie die folgend in meiner Bundle-Datei:Get Webpack über fehlende Pakete zu warnen, wenn

var _TodoListContainer = __webpack_require__(!(function webpackMissingModule() { var e = new Error("Cannot find module \"containers/TodoListContainer.react\""); e.code = 'MODULE_NOT_FOUND'; throw e; }())); 

Wie kann ich Webpack bekomme über fehlende Dateien zu warnen, wenn es baut?

Antwort

1

Die webpack node API liefert Ihnen eine Statistik in der Callback-Objekt:

var webpack = require("webpack"); 

// returns a Compiler instance 
webpack({ 
    // configuration 
}, function(err, stats) { 
    // ... 
}); 

Dieses Objekt hat alle Informationen, die Sie benötigen und Sie können es programmatisch handling errors verwenden:

var webpack = require("webpack"); 
webpack({ 
    // configuration 
}, function(err, stats) { 
    if(err) 
     return handleFatalError(err); 
    var jsonStats = stats.toJson(); 
    if(jsonStats.errors.length > 0) 
     return handleSoftErrors(jsonStats.errors); 
    if(jsonStats.warnings.length > 0) 
     handleWarnings(jsonStats.warnings); 
    successfullyCompiled(); 
}); 

Wenn Sie Wenn Sie die CLI mit der Standardkonfiguration von Webpack verwenden, erhalten Sie Feedback zu fehlenden Abhängigkeiten. Sie können das Befehlszeilenflag --display-error-details für Besonderheiten verwenden.

+0

Ich benutze Gulp und 'stream.on ('error', util.log)', um Fehler zu behandeln. In diesem Fall wurden keine Fehler ausgelöst. –

+0

Fehler werden nur bei schwerwiegenden Fehlern ausgelöst. Sie können die Aufgabe [hier] (https://webpack.github.io/docs/usage-with-gulp.html#normal-compilation) verwenden und das stats-Objekt prüfen, das im Callback übergeben wurde, wie ich es im letzten Beispiel von meine Antwort. – lorefnon