prüfen node-config
- erstellen
default.js
die Ihre dev webpack config enthält.
- erstellen
production.js
mit den zusätzlichen Konfigurations über die default.js
standardmäßig node-config
die default.js
und liefert es zu webpack holen.
Wenn Sie NODE_ENV=production
einstellen, wählt es production.js
und führt eine Object.assign({}, default, production)
aus und stellt sie dem Webpack zur Verfügung.
Auf diese Weise können Sie die Anzahl der env
Config für Webpack verwalten.
Hopp es hilft!
[UPDATE]
ein Beispiel Hinzufügen von Fall zu demonstrieren ...
erstellen config/default.js
in der Wurzel Ihres Projekts
export default {
entry: ['./foo/bar', './foo1/bar1'],
output: {
path: path.resolve('./build/js'),
filename: '[name].js',
publicPath: '/js/'
},
}
config/production.js
erstellen in der Wurzel von Ihrem Projekt
export default {
entry: ['./foo/bar', './foo1/bar1', './new/entry'], //adding the new entry
plugins: [
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false,
},
}),
],
}
erstellen webpack.config.babel.js
in der Wurzel Ihres Projekts
import config from 'config' //I'm using ES6 style. You can use require also
export default config.default //export the config based on the NODE_ENV
Zeit anzeigen
webpack --progress --colors
default.js as the config
In diesem Fall Knoten-config die
NODE_ENV=production
webpack --progress --colors
zurückkehren
In diesem Fall nimmt node-config sowohl default.js
als auch production.js
und überschreibt default.js
(hier werden die Einträge und die Plugins der production.js in default.js überschrieben) und es wird ein Objekt mit {entries (von production.js
), Ausgabe (von default.js
), Plugins (von production.js
)}, die eine Object.assign() Operation ist.
Zurück zu default.js
.Sie müssen den NODE_ENV
NODE_ENV=
YOV müssen möglicherweise verwenden export
oder exports
während NODE_ENV
tun auf der Grundlage Ihrer OS Hoffe, es hilft
Könnten Sie mir zeigen, ein funktionsfähiges Beispiel bitte zurücksetzen? Was soll ich mit "Object.assign" tun? – asiniy
@asiniy Sie müssen nichts mit Object.assign() tun. node-config kümmert sich darum. Ich füge die Beispiele etwas hinzu. –
Was meinst du mit 'inject'? Fügen Sie zusätzliche Einträge hinzu, die auf dem 'env' basieren? –