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

时间:2017-10-09 04:31:02

标签: angular typescript import angular-cli tsconfig

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

enter image description here

我想在 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我有一个错误:

  

找不到模块' @ bar / car'。

4 个答案:

答案 0 :(得分:4)

您需要像这样定义paths

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

欲了解更多信息,请阅读

答案 1 :(得分:2)

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

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

答案 2 :(得分:0)

我认为这可能有效

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

问题似乎是question

重复

答案 3 :(得分:0)

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