“@”/“核心”的“import {Component}”中的“@”符号是什么意思;“声明?

时间:2016-05-22 09:55:12

标签: typescript angular

我正在阅读Angular 2 "5 Min Quickstart"并且有这样一句话:

import { Component } from '@angular/core';"

我无法弄清楚,@符号在导入中有什么作用? TypeScript文档也没有说明任何内容。

这是什么意思?

3 个答案:

答案 0 :(得分:10)

这只是Angular使用的命名约定。自发布以来,他们将其重命名为@ angular / core而不是angular2 / core。

它引用了框架的核心组件。

(在帖子中发现 - angularjs 2 with angular-material @angular/core not found

答案 1 :(得分:9)

@ SCOPE_NAME /程序包

这是NPM功能,范围名称,@和斜杠/之间的任何内容都将是您的范围名称。

npm scope document

答案 2 :(得分:7)

与此相关的是,您也可以对非npm软件包使用@符号作用域。您可以在项目中使用它作为引用不同目录的简短方法。

import { MyService } from '@services/my.service';
import { HelloWorldComponent } from '@components/hello-world.component';

代替

import { MyService } from '../../../../my.service';
import { HelloWorldComponent } from '../shared/deeply/nested/hello-world/hello-world.component';

为此,您只需像下面这样配置tsconfig.json文件(位于项目的根目录):

{
  "compileOnSave": false,
  "compilerOptions": {

    // omitted...

    "baseUrl": "src",
    "paths": {
      "@services/*": ["app/path/to/services/*"],
      "@components/*": ["app/somewhere/deeply/nested/*"],
      "@environments/*": ["environments/*"]
    }
  }
}

请参阅Angular Firebase

的完整详细信息