Ich möchte ein npm-Paket veröffentlichen, das meine Quell- und Distributionsdateien enthält. Mein Github-Repository enthält den Ordner src
, der JavaScript-Quelldateien enthält. Der Buildprozess generiert den Ordner dist
, der die Verteilungsdateien enthält. Der Ordner dist
wird natürlich nicht in das Github-Repository eingecheckt.Wie veröffentliche ich ein npm-Paket mit Verteilungsdateien?
Wie veröffentliche ich ein npm-Paket in einer Weise, dass wenn jemand npm install
tut, erhalten sie src
sowie dist
Ordner? Derzeit, wenn ich npm publish
von meinem Git-Repository ausführen, wird nur src
Ordner veröffentlicht.
Meine package.json wie folgt aussieht:
{
"name": "join-js",
"version": "0.0.1",
"homepage": "https://github.com/archfirst/joinjs",
"repository": {
"type": "git",
"url": "https://github.com/archfirst/joinjs.git"
},
"main": "dist/index.js",
"scripts": {
"test": "gulp",
"build": "gulp build",
"prepublish": "npm run build"
},
"dependencies": {
...
},
"devDependencies": {
...
}
}
Ich bin gespannt, ob das Feld "files" '.gitignore' oder' .npmignore' überschreibt (es sieht so aus, als würde ich das Dokument nicht lesen) - @Naresh bitte sagen Sie uns, welcher Weg gut funktioniert. – topheman
"Dateien" ignoriert tatsächlich .gitignore. Ich habe "dist" in meinem .gitignore, aber in "files" eingeschlossen und der Ordner wird nach npm veröffentlicht. "Dateien" scheint zu sein, wie einige populäre Pakete wie expess und bluebird veröffentlichen (während es andere Pakete gibt, die die .npmignore Methode benutzen). Im Moment gehe ich mit "Dateien", weil es eine direktere Art zu sagen ist, was zu veröffentlichen ist. Aber danke euch beiden dafür, dass ihr mein Wissen über npm heute mindestens um das Doppelte erweitert habt! – Naresh
Es ist erwähnenswert, dass, wenn "Dateien" angegeben sind, dann * nur * diese Dateien die einzigen sind, die in Ihrem Projekt enthalten sind (abgesehen von den nicht auszuschließenden Dateien wie package.json, etc.) – bmacnaughton