Các mô-đun Node đang trong cuộc chiến: CommonJS vs ESM
(redfin.engineering)CJS và ESM có cách triển khai hoàn toàn khác nhau. Chúng có thể gọi lẫn nhau, nhưng khá phiền phức.
-
CJS :
require()vàmodule.exports -
ESM :
importvàexport
Bài viết so sánh chi tiết hai cách này, đồng thời giải thích cả phần nội bộ vì sao chúng khác nhau và việc liên kết giữa chúng lại phiền phức.
Tác giả cũng đưa ra các hướng dẫn mà mình khuyến nghị cho các nhà phát triển thư viện Node.
-
Cung cấp phiên bản CJS
-
Cung cấp một thin ESM wrapper trên nền CJS
-
Thêm
exportsvàopackage.json
Tất nhiên ESM là cách hiện đại hơn, nhưng vì có nhiều thay đổi và việc cung cấp ESM wrapper trên nền CJS dễ hơn, nên đây có vẻ là cách tốt nhất ở thời điểm hiện tại.
Chưa có bình luận nào.