En este artículo, analizamos cómo create-next-app valida el nombre de tu proyecto.
validate: (name) => { const validation = validateNpmName(basename(resolve(name))) if (validation.valid) { return true } return 'Invalid project name: ' validation.problems[0] },
¿Has intentado nombrar tu proyecto con espacios cuando usas el comando create-next-app? si lo has hecho, no permitirá espacios en tu proyecto porque sigue ciertos principios a la hora de nombrar tu proyecto.
Entonces, ¿cuáles son estas reglas de convención de nomenclatura?
Si marca create-next-app/index.ts, llama a una función llamada validarNpmName. Esto se importa desde helpers/validate-pkg.ts
Esta función es sencilla, llama a una función llamada validarProjectName que se importa desde validar-npm-paquete-nombre.
La documentación dice que si un nombre es válido, obtendrás el siguiente objeto de vuelta:
{ validForNewPackages: true, validForOldPackages: true }
¿Qué hace que un nombre sea válido? revisemos la documentación nuevamente. La documentación proporciona estas reglas de nomenclatura:
la longitud del nombre del paquete debe ser mayor que cero
todos los caracteres en el nombre del paquete deben estar en minúsculas, es decir, no se permiten nombres en mayúsculas ni en mayúsculas mixtas
el nombre del paquete puede estar formado por guiones
el nombre del paquete no debe contener caracteres que no sean seguros para URL (ya que el nombre termina siendo parte de una URL)
el nombre del paquete no debe comenzar con . o _
el nombre del paquete no debe contener espacios
el nombre del paquete no debe contener ninguno de los siguientes caracteres: ~)('!*
el nombre del paquete no puede ser el mismo que el de un módulo principal de node.js/io.js ni un nombre reservado o incluido en la lista negra. Por ejemplo, los siguientes nombres no son válidos:
—http
- arroyo
— módulos_nodo
— favicon.ico
la longitud del nombre del paquete no puede exceder 214
Estas son las reglas que debes tener en cuenta al nombrar tu proyecto Next.js.
En Think Throo, tenemos la misión de enseñar los conceptos arquitectónicos avanzados de base de código utilizados en proyectos de código abierto.
10 veces tus habilidades de codificación practicando conceptos arquitectónicos avanzados en Next.js/React, aprende las mejores prácticas y crea proyectos de nivel de producción.
Somos de código abierto: https://github.com/thinkthroo/thinkthroo (¡Danos una estrella!)
También brindamos servicios de desarrollo web y redacción técnica. Comuníquese con nosotros en [email protected] para obtener más información.
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
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3