tl; dr :
- Ja, Sie dürfen benutzerdefinierte Einträge hinzufügen
package.json
.
- Wählen Sie einen Schlüsselnamen:
- noch nicht definiert (Details unten)
- nicht für zukünftige Verwendung reserviert (Details unten)
- Vermeiden Sie Präfixe
_
und$
- Verwenden Sie vorzugsweise einen einzelnen Schlüssel der obersten Ebene, in den Sie Ihre benutzerdefinierten Einträge verschachteln können .
Wenn Sie beispielsweise eine Domain besitzen example.org
, können Sie einen benutzerdefinierten random
Schlüssel wie folgt in einem Schlüssel der obersten Ebene in umgekehrter Domainnamen-Notation_
.
-
speichern, der durch und gegebenenfalls ersetzt wird (siehe Kommentare) (z. B. org_example
):
{
"name": "application-name"
, "version": "0.0.1"
, "private": true
, "dependencies": {
"express": "2.4.7"
, "jade": ">= 0.0.1"
}
, "org_example": {
"random": true
}
}
npm
Das package.json
Dateiformat entspricht größtenteils der CommonJS-Paketspezifikation :
Informationen zur Auswahl benutzerdefinierter Schlüssel : In der CommonJS-Paketspezifikation heißt es (Hervorhebung von mir):
Die folgenden Felder sind reserviert für zukünftige Expansion: build
, default
, email
, external
, files
, imports
, maintainer
, paths
, platform
, require
, summary
, test
, using
, downloads
, uid
.
Erweiterungen der Paketdeskriptorspezifikation sollten darauf abzielen, Kollisionen für zukünftige Standardnamen zu vermeiden, indem ihre Eigenschaften mit harmlosen Namen versehen werden, deren Bedeutung für die allgemeine Paketverwaltung nicht relevant ist .
Die folgenden Felder sind für Paketregister reserviert, die nach eigenem Ermessen verwendet werden können: id
, type
. Alle Eigenschaften, die mit Paketregistern beginnen _
oder diesen $
vorbehalten sind, können nach eigenem Ermessen verwendet werden.
"org_example"
anstelle von"org.example"
- oder einem XML-Namespace-ähnlichen empfehlen"http://example.org"
?