Skip to content

So veröffentlichen Sie ein Node-API-Paket

So veröffentlichen Sie eine Node-API-Version eines Pakets zusammen mit einer Nicht-Node-API-Version

Die folgenden Schritte werden anhand des Pakets iotivity-node veranschaulicht:

  • Veröffentlichen Sie zunächst die Nicht-Node-API-Version:

    • Aktualisieren Sie die Version in package.json. Für iotivity-node wird die Version 1.2.0-2.
    • Gehen Sie die Release-Checkliste durch (stellen Sie sicher, dass Tests/Demos/Dokumente in Ordnung sind).
    • npm publish.
  • Veröffentlichen Sie dann die Node-API-Version:

    • Aktualisieren Sie die Version in package.json. Im Fall von iotivity-node wird die Version 1.2.0-3. Für die Versionsverwaltung empfehlen wir, dem von semver.org beschriebenen Pre-Release-Versionsschema zu folgen, z. B. 1.2.0-napi.
    • Gehen Sie die Release-Checkliste durch (stellen Sie sicher, dass Tests/Demos/Dokumente in Ordnung sind).
    • npm publish --tag n-api.

In diesem Beispiel hat die Markierung des Releases mit n-api sichergestellt, dass, obwohl Version 1.2.0-3 später als die veröffentlichte Nicht-Node-APl-Version (1.2.0-2) ist, sie nicht installiert wird, wenn jemand iotivity-node einfach mit npm install iotivity-node installieren möchte. Dadurch wird standardmäßig die Nicht-Node-APl-Version installiert. Der Benutzer muss npm install iotivity-node@n api ausführen, um die Node-APlI-Version zu erhalten. Weitere Informationen zur Verwendung von Tags mit npm finden Sie unter "Verwenden von Dist-Tags".

So führen Sie eine Abhängigkeit von einer Node-API-Version eines Pakets ein

Um die Node-API-Version von iotivity-node als Abhängigkeit hinzuzufügen, sieht die package.json wie folgt aus:

json
"dependencies": {
  "iotivity-node": "n-api"
}

Wie unter "Verwenden von Dist-Tags" erläutert, können markierte Versionen im Gegensatz zu regulären Versionen nicht durch Versionsbereiche wie "^2.0.0" in package.json adressiert werden. Der Grund dafür ist, dass sich der Tag auf genau eine Version bezieht. Wenn der Paketbetreuer also beschließt, eine spätere Version des Pakets mit demselben Tag zu markieren, erhält npm update die spätere Version. Dies sollte eine akzeptable Version sein, die von der zuletzt veröffentlichten abweicht. Die package.json-Abhängigkeit muss sich auf die genaue Version beziehen, wie folgt:

json
"dependencies": {
  "iotivity-node": "1.2.0-3"
}