Ich habe einige Dinge für die Entwicklung - z. B. Mocks, die ich meine verteilte Build-Datei mit nicht aufblähen möchte.Bedingtes Build basierend auf der Umgebung mit Webpack
In RequireJS können Sie eine Konfiguration in einer Plugin-Datei übergeben und bedingt davon abhängig Dinge benötigen.
Für Webpack scheint es keine Möglichkeit zu geben, dies zu tun. Zum einen eine Laufzeitkonfiguration für eine Umgebung zu schaffen I resolve.alias verwendet haben, um eine Abhängigkeit von der Umgebung repoint erfordern, zum Beispiel:
// All settings.
var all = {
fish: 'salmon'
};
// `envsettings` is an alias resolved at build time.
module.exports = Object.assign(all, require('envsettings'));
Wenn dann die webpack Config Erstellen I dynamisch, welche Datei envsettings
Punkte (dh webpackConfig.resolve.alias.envsettings = './' + env
) zuweisen .
Allerdings würde Ich mag, wie etwas zu tun ist:
if (settings.mock) {
// Short-circuit ajax calls.
// Require in all the mock modules.
}
Aber natürlich will ich nicht in diesen Mock-Dateien erstellen, wenn die Umgebung verspotten nicht.
Ich könnte möglicherweise alle diese Anforderungen zu einer Stub-Datei mit replace.alias wieder manuell repoint - aber gibt es eine Möglichkeit, die weniger Hacky fühlt?
Irgendwelche Ideen, wie ich das tun kann? Vielen Dank.
Beachten Sie, dass für jetzt habe ich Alias des verwendeten auf eine leere (stub) Datei auf Umgebungen zeigen, die ich nicht will (zB require ('mocks') zeigt auf eine leere Datei auf nicht-mock envs. Scheint ein wenig hacky, aber es funktioniert. –