javascript - node - npm version patch
¿Por qué algunos paquetes npm comienzan con @? (3)
Esta pregunta ya tiene una respuesta aquí:
¿Hay algo diferente acerca de las dependencias que comienzan con @
?
¿Eso significa o implica algo? No veo ninguna información sobre eso. Echa un vistazo a mi carpeta node_modules
:
Fortawesome comienza con @
y no contiene el archivo fortawesome.css
típico. Entonces, ¿es lo mismo? ¿O la @
indica algo?
Este es mi package.json
:
{
"name": "ng-frontend",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build --prod",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animations": "^5.2.0",
"@angular/common": "^5.2.0",
"@angular/compiler": "^5.2.0",
"@angular/core": "^5.2.0",
"@angular/forms": "^5.2.0",
"@angular/http": "^5.2.0",
"@angular/platform-browser": "^5.2.0",
"@angular/platform-browser-dynamic": "^5.2.0",
"@angular/router": "^5.2.0",
"@fortawesome/fontawesome": "^1.1.4",
"animate.css": "^3.6.1",
"bootstrap": "^4.0.0",
"core-js": "^2.4.1",
"jasny-bootstrap": "^3.1.3",
"jquery": "^3.3.1",
"popper.js": "^1.12.9",
"rxjs": "^5.5.6",
"zone.js": "^0.8.19"
},
"devDependencies": {
"@angular/cli": "~1.7.2",
"@angular/compiler-cli": "^5.2.0",
"@angular/language-service": "^5.2.0",
"@types/jasmine": "~2.8.3",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "^4.0.1",
"jasmine-core": "~2.8.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~2.0.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"ts-node": "~4.1.0",
"tslint": "~5.9.1",
"typescript": "~2.5.3"
}
}
Esta pregunta no es sobre Angular .
Si el nombre de un paquete comienza con @ , entonces es un paquete con ámbito. El alcance es todo lo que hay entre @ y la barra.
@scope/project-name
Cómo inicializar un paquete con alcance
Para crear un paquete con ámbito, simplemente use un nombre de paquete que comience con su alcance.
{
"name": "@username/project-name"
}
Más detalles, por favor visite el paquete de ámbito
y
¿Qué significa el símbolo "@" en "importar {Componente} de ''@ angular / core'';" ¿declaración?
paquetes con @ denota la organización. En este caso la organización es Fortawesome. Contiene múltiples paquetes (puedes verlo dentro de la carpeta @fortawesome).
Como se describe en la página de npm
La creación de una Organización en npm le brinda un alcance de Organización bajo el cual puede tener su propio espacio de nombres para los paquetes.
Los ámbitos son geniales por muchas razones, por ejemplo:
- Mantenga un tenedor de un paquete, por ejemplo, @ the-best / request.
- Evitar disputas de nombres con nombres populares, por ejemplo, @ the-best / cat.
- Mejora del descubrimiento interno de paquetes compatibles con la Organización (¡todos están en un solo espacio de nombres!)
Espero que ayude.
@ refiérase a los paquetes con alcance npm:
Cuando se usan en nombres de paquetes, los ámbitos van precedidos por un símbolo @ y seguidos por una barra inclinada
Los ámbitos son una forma de agrupar paquetes relacionados.
Por ejemplo, package.json contiene algunas dependencias @angular/
prefixed (@ angular / animations, @ angular / compiler-cli, etc.) lo que significa que están bajo alcance angular
. El código de todas esas dependencias está en el directorio @angular
.