Подтвердить что ты не робот

Что такое @angular в Angular 2?

Я работаю над документацией Angular 2.

Множество мест, включая примеры, Angular называется @angular.

Например, на странице API:

https://angular.io/docs/ts/latest/api/

Каково значение @? Имеет ли это значение для Angular 2 кода?

4b9b3361

Ответ 1

Это имя, используемое для области в репозитории 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 не имеет смысла.

Ответ 2

На странице Angular Git:

"Все пакеты теперь распространяются в области @ angular npm. > Это изменяет способ установки Angular через npm и как вы импортируете код."

И с страниц документации NPM:

"Области - это пространства имен для модулей npm. Если имя пакета начинается > с @, то это пакет с областью действия. Область - это все, что находится между > @и косой чертой.

Надеюсь, что это поможет.

https://github.com/angular/angular/blob/master/CHANGELOG.md

https://docs.npmjs.com/getting-started/scoped-packages

Ответ 3

@указывает, что это частный пакет npm. Только авторизованной команде разрешено вводить новые версии, но она доступна для загрузки. Публикуя его как пакет npm, вы можете использовать node в качестве менеджера пакетов для вашего приложения и позволить node управлять зависимостями с другими пакетами и версиями. Очень полезно.

Ответ 4

В качестве примера возьмем случай import { NgModule } from '@angular/core';.
Если вы посмотрите источник github, @angular - это просто имя папки. Возьмем @ angular/core. Внутри находится index.ts, который далее экспортирует. /src/core, что означает .src/core.ts, поскольку предполагается расширение .ts. Когда вы перейдете на. /src/core.ts, вы обнаружите, что он экспортирует метаданные. Когда вы войдете в. /metadata, вы найдете ngmodule.ts. Внутри это определено @NgModule!

Ответ 5

ничего особенного здесь, символ "@" - это способ различить папку @ angular внутри node_modules для других, потому что это папка содержит весь модуль, который должен запускать angular в вашей среде