Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 什么是@&引用;符号在“中的平均值”;从'导入{Component}@角度/核心'&引用;陈述_Typescript_Angular - Fatal编程技术网

Typescript 什么是@&引用;符号在“中的平均值”;从'导入{Component}@角度/核心'&引用;陈述

Typescript 什么是@&引用;符号在“中的平均值”;从'导入{Component}@角度/核心'&引用;陈述,typescript,angular,Typescript,Angular,我在读Angular 2,有这样一句话: import { Component } from '@angular/core';" 我搞不清楚,@符号在那个导入中是做什么的?TypeScript文档也没有提到这一点 这是什么意思?这只是Angular使用的命名约定。自发布以来,他们将其重命名为@angular/core,而不是angular2/core 它引用了框架的核心组件 (在post-@scope\u name/package\u name中找到) 这是NPM特性,作用域名称,@和斜杠/之

我在读Angular 2,有这样一句话:

import { Component } from '@angular/core';"
我搞不清楚,
@
符号在那个导入中是做什么的?TypeScript文档也没有提到这一点


这是什么意思?

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

它引用了框架的核心组件


(在post-

@scope\u name/package\u name中找到)

这是NPM特性,作用域名称,@和斜杠/之间的任何内容都将是您的作用域名称


另一个相关之处是,您也可以对非npm包使用
@
符号范围。您可以在项目中使用它作为引用不同目录的简短方式

i、 e

而不是

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/*"]
    }
  }
}

有关详细信息,请参见

可能的副本,我认为它比这要多一些。。。在您引用的问题中,它解释了@prefix允许将相关的npm包更整齐地分组到带有@prefix的文件夹下,而不是污染node_模块文件夹根目录。有关更多信息,请参阅仅供他人了解,如果您在VS代码中获得“找不到模块”,CMD+SHIFT+P然后键入reload window,您应该停止出现错误。(假设对于win/linux:CTRL+SHIFT+P)感谢您的解释,它提供了一些关于Angular中@symbol的想法。或者,为了进一步了解@JosephBriggs对VS代码“找不到模块”的建议,请尝试从命令调色板中选择“TypeScript:Reload Project”。如果您使用的是ts节点,您可能对此有问题。。。要解决此问题,请安装
tsconfig path
npm软件包
{
  "compileOnSave": false,
  "compilerOptions": {

    // omitted...

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