Exportieren und Ändern von JavaScript-Objekt aus es6-Modul mit Webpack.Exportieren und Ändern von JavaScript-Objekten aus es6-Modul mit Webpack und Babel
Wenn ich die Eigenschaft config in index.js ändere, ändert es sich, aber es ist nicht unmöglich, Object.assign zu verwenden.
Mein Code beschreibt ein Problem besser.
Beispiel ist
config.js simplidied
let config = {
plugins: {
slick: {
autoplaySpeed: 1000,
autoplay: true,
}
}
};
export default config;
index.js
import config from './config.js'
config.plugins.slick.autoplaySpeed = 500;
import './clientCode';
clientCode.js
import config from './config';
//autoplaySpeed: 500, as it need to be
console.dir(config.plugins.slick);
//autoplaySpeed: 1000, needs to be 500, ->why<- value not changed?
console.dir(Object.assign({}, config.plugins.slick));
Warum Wert nicht nach Object.assign geändert, aber geändert vor Objekt.zuweisen?
Wenn ich der exportierten Konfiguration jedoch direkt in der Datei clientCode.js Wert zuweise, ändert sich der Wert nach Object.assign.
clientCode.js
import config from './config';
config.plugins.slick.autoplaySpeed = 500;//new value assigning
//autoplaySpeed: 500, as it need to be
console.dir(config.plugins.slick)
//autoplaySpeed: 500, as it need to be
console.dir(Object.assign({}, config.plugins.slick));
Ich habe versucht, meine webpack Beobachter (denken, dass Problem in webpack des cache) neu zu starten, aber das Problem nicht gelöst wurde.
Wie kann ich die Konfigurationswerte in einer Datei ändern und geänderte Werte in einer anderen mit Object.assign verwenden? Warum erscheint dieses Problem?
Update:
Jetzt habe ich verstanden, dass das Problem in der Bestellung dieser Dateien Ausführung ist.
console.dir in clientCode.js wird vor dem anderen ausgeführt in index.js
Jetzt graben auf diese Weise.
Nizza Lösung, dank – fungusanthrax