What is @angular in Angular 2?
It's the name used for the scope in the NPM repository
http://blog.npmjs.org/post/116936804365/solving-npms-hard-problem-naming-packages
@angular
is the scope name and all modules (core
, compiler
, common
, platform-...
, testing
, router
, ...) are published under that scope.
Angular2 versions after beta.x, and therefore
>= Angular2 RC.0
use@angular
Versions
<= Angular2 beta.x
useangular2
One of the reasons they changed it that they considered 2
in Angular2
a misnomer. Currently (January 2017) we are at Angular version 4.0.0-beta.1
which should make it clear, that 2
doesn't make sense.
From the Angular Git page:
"All of the packages are now distributed under the @angular npm scope. >This changes how Angular is installed via npm and how you import the code."
And from the NPM documentation pages:
"Scopes are like namespaces for npm modules. If a package's name begins >with @, then it is a scoped package. The scope is everything in between >the @ and the slash."
Hope this helps.
The @ indicates it is a private npm package. Only the authorized team is allowed to push new versions but it is publicly available for download. By publishing it as npm package you can use node as package manager for your application and let node manage dependencies with other packages and versions. Very useful.