In diesem Artikel analysieren wir, wie create-next-app Ihren Projektnamen validiert.
validate: (name) => { const validation = validateNpmName(basename(resolve(name))) if (validation.valid) { return true } return 'Invalid project name: ' + validation.problems[0] },
Haben Sie versucht, Ihr Projekt mit Leerzeichen zu benennen, wenn Sie den Befehl „create-next-app“ verwenden? Wenn Sie dies getan haben, werden keine Leerzeichen in Ihrem Projekt zugelassen, da bei der Benennung Ihres Projekts bestimmte Grundsätze befolgt werden.
Was sind also diese Namenskonventionsregeln?
Wenn Sie diese Datei „create-next-app/index.ts“ überprüfen, wird eine Funktion namens „validateNpmName“ aufgerufen. Dies wird aus helpers/validate-pkg.ts
importiertDiese Funktion ist einfach und ruft eine Funktion namens „validateProjectName“ auf, die aus „validate-npm-package-name“ importiert wird.
Die Dokumentation besagt, dass Sie das folgende Objekt zurückerhalten, wenn ein Name gültig ist:
{ validForNewPackages: true, validForOldPackages: true }
Was macht einen Namen gültig? Schauen wir uns noch einmal die Dokumentation an. Die Dokumentation stellt diese Benennungsregeln bereit:
Die Länge des Paketnamens sollte größer als Null sein
Alle Zeichen im Paketnamen müssen Kleinbuchstaben sein, d. h. Namen in Groß- und Kleinschreibung sind nicht zulässig
Paketname kann aus Bindestrichen bestehen
Der Paketname darf keine nicht URL-sicheren Zeichen enthalten (da der Name letztendlich Teil einer URL ist)
Paketname sollte nicht mit beginnen. oder _
Paketname sollte keine Leerzeichen enthalten
Der Paketname sollte keines der folgenden Zeichen enthalten: ~)(‘!*
Der Paketname darf weder mit einem node.js/io.js-Kernmodul noch mit einem reservierten/schwarzen Listennamen identisch sein. Beispielsweise sind die folgenden Namen ungültig:
— http
— Stream
— node_modules
— favicon.ico
Die Länge des Paketnamens darf 214 nicht überschreiten
Dies sind die Regeln, die Sie bei der Benennung Ihres Next.js-Projekts beachten sollten.
Bei Think Throo haben wir die Mission, die fortgeschrittenen Codebasis-Architekturkonzepte zu vermitteln, die in Open-Source-Projekten verwendet werden.
Verzehnfachen Sie Ihre Programmierkenntnisse, indem Sie fortgeschrittene Architekturkonzepte in Next.js/React üben, die Best Practices erlernen und Projekte in Produktionsqualität erstellen.
Wir sind Open Source – https://github.com/thinkthroo/thinkthroo (Geben Sie uns einen Stern!)
Wir bieten auch Webentwicklungs- und technische Redaktionsdienste an. Kontaktieren Sie uns unter hello@thinkthroo.com, um mehr zu erfahren!
1. https://github.com/vercel/next.js/blob/canary/packages/create-next-app/index.ts#L162
2. https://github.com/vercel/next.js/blob/canary/packages/create-next-app/helpers/validate-pkg.ts#L13
3. https://www.npmjs.com/package/validate-npm-package-name
4. https://github.com/npm/validate-npm-package-name/tree/main
Das obige ist der detaillierte Inhalt voncreate-next-app validiert Ihren App-Namen mithilfe dieses Pakets. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!