在 tsconfig.app.json 中为 angular 项目定义路径

define path in tsconfig.app.json for angular project

该项目是通过 angular CLI 生成的。我有以下文件夹结构:

我想在 tsconfig.app.json 中定义 bar 文件夹的路径,并将 Car 导入到 Garage.

我的tsconfig.app.json:

{
  "extends": "../tsconfig.json",
  "compilerOptions": {
    ...
    "baseUrl": "./",
    "paths" : {
      "@bar" : ["foo/bar"]
    },
    ...
  },
  ...
}

我的Garage.ts:

import { Car } from "@bar/Car";
export class Garage {}

在garage.ts我有一个错误:

Cannot find module '@bar/car'.

我认为这可能有效

    {
  "extends": "../tsconfig.json",
  "compilerOptions": {
    ...
    "baseUrl": "./",
    "paths" : {
      "@bar" : ["foo/bar"],
      "@environment/*": ["environments/*"],
        "@shared/*": ["app/_shared/*"],
        "@helpers/*": ["helpers/*"]
       //you can define multiple paths inside this 
    },
    ...
  },
  ...
}

问题看起来像 重复 of

您需要这样定义 paths

   "paths" : {
      "@bar/*" : [
          "foo/bar/*"
      ]
    },

有关详细信息,请阅读

请不要忘记在添加 paths 之前先添加 baseUrl。我花了几个小时试图找出我错在哪里。

"baseUrl": "./",
"paths": {
  ...
}

停止 VS 代码中的抱怨:CMD + SHIFT + P 然后键入 reload 或 Reload Project 停止 webstorm 中的抱怨:使缓存无效(文件 | 使缓存无效,使无效并重新启动)