Ich habe ein paar Repos, die ich auf npm veröffentlichen möchte. Dies sind jedoch Browser-Repos, die ein Problem darstellen: Die main
-Eigenschaft in package.json scheint für die Angabe eines Knotens (kein Browser) -Modul zu sein.npm main: index.js für Browser Repos
Von https://docs.npmjs.com/files/package.json#main
Haupt
Das Hauptfeld ist eine Modul-ID, die der primäre Einstiegspunkt zu Ihrem Programm. Das heißt, wenn Ihr Paket den Namen foo hat und ein Benutzer es installiert und dann ("foo") benötigt, wird das exports-Objekt Ihres Hauptmoduls zurückgegeben.
Dies sollte eine Modul-ID relativ zum Stammverzeichnis Ihres Paketordners sein.
Für die meisten Module ist es am sinnvollsten, ein Hauptscript zu haben und oft nicht viel mehr.
Also was soll ich für ein npm-Paket für Browser Repos verwenden? Einfach das Feld auslassen? Zeigen Sie auf das Repo-Bündel? Etwas anderes?
Das Rollup Repo hat diese Diskussion: https://github.com/rollup/rollup/wiki/pkg.module. Grundsätzlich scheint "main" auf ein "Legacy" -Bündel zu verweisen, während "module" (oder "jsnext: main") auf ein modernes ES-Modul verweisen sollte (ich habe beide in meinem dist /). Ist das Standard? Es scheint für entweder Browser- oder Knotenmodule zu sein. – backspaces