Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.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
Angular typescript-使用“导入自定义类”@&引用;签名_Angular_Typescript_Npm_Path - Fatal编程技术网

Angular typescript-使用“导入自定义类”@&引用;签名

Angular typescript-使用“导入自定义类”@&引用;签名,angular,typescript,npm,path,Angular,Typescript,Npm,Path,我看到过以以下方式导入包时出现的情况 import { SharedModule } from '@shared/shared.module'; @在本例中,共享是指位于项目中的文件夹 /src/shared /src/共享 我希望避免在开始时使用点和斜线(相对路径方法)以经典方式导入我的类,例如 从“./shared/shared.module”导入{SharedModule}; 有人知道如何实现这一点吗?在tsconfig.json中,将其添加到路径中,如下所示: { ... "co

我看到过以以下方式导入包时出现的情况

import { SharedModule } from '@shared/shared.module';
@在本例中,共享是指位于项目中的文件夹

/src/shared /src/共享 我希望避免在开始时使用点和斜线(相对路径方法)以经典方式导入我的类,例如

从“./shared/shared.module”导入{SharedModule};
有人知道如何实现这一点吗?

在tsconfig.json中,将其添加到路径中,如下所示:

{
  ...
  "compilerOptions": {
    ...
    "baseUrl": "src",
    "paths": {
      "@app/*": ["app/*"],
      "@env/*": ["environments/*"],
      "@shared/*": ["app/shared/*"]
    }
    ...
  }
}
您可以将
共享的
模块导入为:

import { SharedModule } from '@shared/shared.module';

基本上,您正在寻找一种名为
别名
的东西

为了能够使用别名,我们必须向tsconfig.json文件中添加baseUrl和路径属性,如下所示-

{
  "compilerOptions": {
    "...": "reduced for brevity",

    "baseUrl": "src",
    "paths": {
      "@app/*": ["app/*"],
      "@env/*": ["environments/*"]
    }
  }
}
因此,现在您可以使用
@app
@env
导入文件

有关更多详细信息,请参阅这篇精彩的文章


您可能需要输入脚本路径别名,请检查。
{
  "compilerOptions": {
    "...": "reduced for brevity",

    "baseUrl": "src",
    "paths": {
      "@app/*": ["app/*"],
      "@env/*": ["environments/*"]
    }
  }
}