Câu hỏi 1
Tôi thấy rằng có nhiều sự trùng lặp không cần thiết trong kết quả (đầu ra) gói (webpack), cụ thể, tất cả chúng đều là những người trợ giúp (như classCheck
, objectSpread
(do plugin phân tán đối tượng).
Vì vậy, tôi muốn giảm sự trùng lặp. Nếu đó là một thư viện, chắc chắn, tôi sẽ sử dụng plugin chuyển đổi thời gian chạy (tham khảo runtime-corejs3
) để làm điều này. Nhưng bây giờ đây là một ứng dụng , vậy, cách chính xác để làm điều này là gì?
Do tôi bị nhầm lẫn vì transfrom-runtime
plugin được khuyến cáo cho thư viện (và là cho cả giảm. Ví dụ core-js
, regenerator
và những người giúp việc). Nhưng ở đây tôi chỉ muốn giảm bớt helper sự trùng lặp, không phải người khác trùng lặp vì đó đã được thực hiện bởi babel/env
.
Vì vậy, ở đây câu hỏi tôi muốn hỏi / thảo luận là có cần thiết phải giảm sự helpers
trùng lặp trong một ứng dụng , nếu có, và làm thế nào?
Câu hỏi 2
Câu hỏi còn lại là, core-js/modules/es.promise.js
và core-js-pure/modules/es.promise.js
chính xác là cùng một mã, sự khác biệt chính là cái trước đây có gây ô nhiễm toàn cầu không? Nếu vậy, tại sao core-js
không sử dụng (nhập trực tiếp) core-js-pure
vào polyfill và sau đó thêm nó vào toàn cầu? IMO, điều này sẽ làm giảm đáng kể sự trùng lặp vì hiện tại các lib sử dụng transform-runtime
(cuối cùng core-js-pure
) nhưng các ứng dụng sử dụng preset-env
(cuối cùng core-js
), không có mã chia sẻ / chia sẻ giữa ứng dụng và lib, phải không?
webpack
? [ webpack.js.org/guides/tree-shaking/]