Bazı npm paketlerinin ( örneğin vue ) pkg.modulepackage.json'da bir alanı olduğunu gördüm . Mı "module"resmi npm mülkiyet veya bu tür bir kuralıdır? Bunun için bir yerde belge var mı? Bu ne için? esnext yolu? Gruplanmamış modül yolu?
Bazı npm paketlerinin ( örneğin vue ) pkg.modulepackage.json'da bir alanı olduğunu gördüm . Mı "module"resmi npm mülkiyet veya bu tür bir kuralıdır? Bunun için bir yerde belge var mı? Bu ne için? esnext yolu? Gruplanmamış modül yolu?
Yanıtlar:
Mı
"module"resmi npm mülkiyet veya bu tür bir kuralıdır?
Bu bir teklif , ancak fiili kullanım nedeniyle büyük olasılıkla desteklenecek.
Bunun için bir yerde belge var mı?
Aslında var ve tam burada bulunabilir ve daha sonra buradan kaldırılabilir .
Bu ne için?
Düğümde ES6 Modülünün Birlikte Çalışabilirliği. Ek tartışma burada ve burada bulunabilir . Ve işte Rich Harris'ten bunun hakkında daha fazla konuşan bir blog yazısı .
Bu, paket araçları tarafından ESM (ECMAScript Modülü) algılaması için kullanılır. Toplaması dokümantasyon oldukça iyi diyor:
Senin Eğer
package.jsondosya ayrıca sahipmodulealanını gibi ES6 uyumlu araçları Toplaması ve WebPack 2 edecek ES6 modülü sürümü içe doğrudan.
Toplama 1.0 hakkındaki bu makale bunu başka bir şekilde anlatıyor:
mainAlan Düğüm kullanıcıları kullanarak emin olurrequireUMD versiyonu sunulacaktır.moduleAlan resmi bir npm özellik değil ama bundlers arasında yaygın bir kongre bizim kütüphanenin bir ESM sürümünü içe nasıl tayin etmek.
Daha fazla tartışma pkg.module, Rollup Github Wiki ve web paketi Dokümanları üzerindedir .
mainKütüphanenin UMD versiyonunun küçültülmüş bir versiyonu olmalı mı ? Yoksa küçültülmemiş mi olmalı? Peki ya module? Sanırım bu modül küçültülmemeli çünkü kullanıcı paketleyicisini (Webpack, Parcel, vb.) Kullanacak ve kaynak dosyayı ES6 modülüyle dışa aktararak paketleyici ağaç sallamayı kaldırabilir, doğru mu?