2016-05-11 5 views

ответ

29

Это имя, используемое для области в хранилище НПМ

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 в Angular2 неправильно , В настоящее время (январь 2017 года) мы находимся на Угловой версии 4.0.0-beta.1, которая должна ясно дать понять, что 2 не имеет смысла.

10

На странице Угловой Гит:

«Все пакетов теперь распространяется под @angular рамки НОГО> Это меняет как Угловой устанавливаются через НПЙ и как импортировать код..»

А из страниц документации НОЙ:..

«Область применения, как пространство имен для НПХ модулей Если начинается имя из пакета> с @, то это Scoped пакет Область находится все между > @ и косая черта. "

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

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

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

4

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

1

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

0

ничего особенного здесь, символ «@» не является способом дифференцировать @angular папки внутри node_modules папки для других, потому что папка содержит весь модуль, который нужен запустить угловой на среде

Смежные вопросы