欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

npm-scope Scoped包 范围包 阿发 阿法 艾特 有大用 有大大用

npm里的这三个@是什么意思?

154538022
  • 488

   1. npm install -g @angular/cli      #这里@表示范围,一般是公司,或者组织  
   2. import { Component } from '@angular/core';        
   3. @Component({            # 这里@Component表示是一个装饰器
      selector: 'app-root',
      template: `
            <input type="text" [(ngModel)]="username">
            {{username}}
  `    ,
    })
回复
阅读 11.4k
3 个回答
陈碧滔
  • 33

@后面的是scope,一般是公司,或者组织
文档在这
https://docs.npmjs.com/misc/s...

npm install -g @angular/cli

代码中第一行的@跟上面的是一个意思,而第二行的@Component是装饰器,各个语言中都有装饰器,是一种语法糖,理解就是给你甜头,让你可以以很少的代码实现很复杂的功能,但是Angular里的这个@Component感觉语法糖的意义不大,它就是一个装饰器

   import { Component } from '@angular/core';
   @Component({
      selector: 'app-root',
      template: `
            <input type="text" [(ngModel)]="username">
            {{username}}
      `,
    })

下面是angular中装饰器的文档
https://angular.cn/api/core/T...

同时ES6中也有装饰器,vue、react等框架都有装饰器的实现,也可以自己去实现一个装饰器。

JAVA中对应的就是注解。

npm 的用户名是 angular

spencerht
  • 7.8k

这个地方的@。。。应该是包名为@angular/cli吧。。
如果是angular/cli@xx,那么意思是指定安装包的确定版本。
补充:
第一个和第二个的@都是angular的包的通用前缀@angular
第三个@则是angular的固定写法
至于为什么angular要这么做。。我也是懵逼的。大概只是写法突出表示吧。

来自  https://segmentfault.com/q/1010000010634873


普通分类: