Có một vài điều bạn cần làm.
Đảm bảo yêu cầu intl/Intl
tải thư viện cốt lõi chứ không phải tất cả các quốc gia liên quan. Điều này sẽ làm giảm kích thước của thư viện từ khoảng 900kb xuống khoảng 150kb.
Sử dụng các chức năng require.ensure
hoặc require([])
của webpack để chỉ yêu cầu động Intl.js khi cần. Thao tác này sẽ tạo một gói riêng biệt chỉ cho tệp Intl.js, tệp này sẽ được tải trên cơ sở khi cần thiết.
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);
Lưu ý: Bạnthể cũng cần tiếp cận thông tin quốc gia cụ thể và tính chất. Đối với các nhu cầu cơ bản của tôi, tôi thực sự không yêu cầu dữ liệu này, nhưng nếu bạn chắc chắn đọc phần trên trang web Intl.js loading locale data.
Nguồn
2015-04-22 17:24:02