我正在阅读Angular 2 "5 Min Quickstart"并且有这样一句话:
import { Component } from '@angular/core';"
我无法弄清楚,@
符号在导入中有什么作用? TypeScript文档也没有说明任何内容。
这是什么意思?
答案 0 :(得分:10)
这只是Angular使用的命名约定。自发布以来,他们将其重命名为@ angular / core而不是angular2 / core。
它引用了框架的核心组件。
(在帖子中发现 - angularjs 2 with angular-material @angular/core not found)
答案 1 :(得分:9)
答案 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/*"]
}
}
}
的完整详细信息