Я работаю над документацией Angular 2.
Множество мест, включая примеры, Angular называется @angular
.
Например, на странице API:
https://angular.io/docs/ts/latest/api/
Каково значение @
? Имеет ли это значение для Angular 2 кода?
Я работаю над документацией Angular 2.
Множество мест, включая примеры, Angular называется @angular
.
Например, на странице API:
https://angular.io/docs/ts/latest/api/
Каково значение @
? Имеет ли это значение для Angular 2 кода?
Это имя, используемое для области в репозитории NPM
http://blog.npmjs.org/post/116936804365/solving-npms-hard-problem-naming-packages
@angular
- это имя области и все модули (core
, compiler
, common
, platform-...
, testing
, router
,...) публикуются под этой областью.
Angular2 версии после beta.x, и поэтому >= Angular2 RC.0
использовать @angular
Версии <= Angular2 beta.x
использовать angular2
Одна из причин, по которой они изменили его, что они считали 2
in angular2
неправильным. В настоящее время (январь 2017 года) мы находимся в Angular версии 4.0.0-beta.1
, которая должна четко указывать, что 2
не имеет смысла.
На странице Angular Git:
"Все пакеты теперь распространяются в области @ angular npm. > Это изменяет способ установки Angular через npm и как вы импортируете код."
И с страниц документации NPM:
"Области - это пространства имен для модулей npm. Если имя пакета начинается > с @, то это пакет с областью действия. Область - это все, что находится между > @и косой чертой.
Надеюсь, что это поможет.
@указывает, что это частный пакет npm. Только авторизованной команде разрешено вводить новые версии, но она доступна для загрузки. Публикуя его как пакет npm, вы можете использовать node в качестве менеджера пакетов для вашего приложения и позволить node управлять зависимостями с другими пакетами и версиями. Очень полезно.
В качестве примера возьмем случай import { NgModule } from '@angular/core';
.
Если вы посмотрите источник github, @angular - это просто имя папки. Возьмем @ angular/core. Внутри находится index.ts, который далее экспортирует. /src/core, что означает .src/core.ts, поскольку предполагается расширение .ts. Когда вы перейдете на. /src/core.ts, вы обнаружите, что он экспортирует метаданные. Когда вы войдете в. /metadata, вы найдете ngmodule.ts. Внутри это определено @NgModule!
ничего особенного здесь, символ "@" - это способ различить папку @ angular внутри node_modules для других, потому что это папка содержит весь модуль, который должен запускать angular в вашей среде