Es gibt ein paar Dinge, die Sie tun müssen.
Stellen Sie sicher, dass intl/Intl
erforderlich ist, das die Core-Bibliothek und nicht alle zugehörigen Länder lädt. Dies wird die Größe der Bibliothek von etwa 900 kB auf etwa 150 kB reduzieren.
Verwenden Sie die Funktionen require.ensure
oder require([])
von webpack, um Intl.js nur bei Bedarf dynamisch zu benötigen. Dadurch wird ein separates Paket nur für die Datei Intl.js erstellt, die bei Bedarf geladen wird.
lib/shim.js
// shim for Intl needs to be loaded dynamically
// so we callback when we're done to represent
// some kind of "shimReady" event
module.exports = function(callback) {
if (!window.Intl) {
require(['intl/Intl'], function(Intl) {
window.Intl = Intl;
callback();
});
} else {
setTimeout(callback, 0); // force async
}
};
app.js
var shimReady = require('lib/shim');
shimReady(startApp);
Hinweis: Sie kann auch Zugang zu länderspezifischen Informationen benötigen und Eigenschaften. Für meine Grundbedürfnisse habe ich diese Daten nicht wirklich benötigt, aber wenn Sie sicher sind, lesen Sie den Abschnitt auf Intl.js Website loading locale data.