Javascript 如何在Visual Studio代码中设置Angular app path以导入没有前缀的组件?

Javascript 如何在Visual Studio代码中设置Angular app path以导入没有前缀的组件?,javascript,angular,typescript,single-page-application,angular8,Javascript,Angular,Typescript,Single Page Application,Angular8,我想导入没有任何路径前缀的组件和服务,如下所示: import { CarService } from 'services/car.service'; carproject src app (from here) components (from here) base (from here) pages (from here) services (from here) 来自角度应用程序结构

我想导入没有任何路径前缀的组件和服务,如下所示:

import { CarService } from 'services/car.service';
carproject
   src
      app (from here)
          components (from here)
             base (from here)
          pages (from here)
          services (from here)
来自角度应用程序结构中的文件,如下所示:

import { CarService } from 'services/car.service';
carproject
   src
      app (from here)
          components (from here)
             base (from here)
          pages (from here)
          services (from here)
当前,carproject文件夹中的tscongif.json包含以下基本URL:

"baseUrl": "./src",
和src文件夹中的tscongif.app.json:

"baseUrl": "app" 
应用程序实际上允许以我在这个问题上提供的格式进行导入。应用程序正常启动

但视觉代码似乎并不理解它。并显示错误:

Cannot find module 'services/car.service'.ts(xxx)

如何正确配置BaseURL,以便我能够从上述位置导入不带路径前缀的组件和服务,并且Visual Studio代码也能够找到这些导入?

您应该更改tsconfig.json。我假设您的服务代码在服务文件夹中,所以我将更改配置

"baseUrl": "./",
"paths": {
   "services/*": ["src/app/services/*"],
 },
然后你可以像这样导入

import { CarService } from 'services/car.service';

请选中此项作为补充,然后您还可以在该文件夹中提供一个
index.ts
,以便您可以像这样导入所有内容
@services/index
@services
@johnnydevnull谢谢您的评论。如果我使用index.ts并导入所有内容,这是否意味着我不需要导入每个组件和服务中的内容?@Tony Ngo我需要为每个文件夹定义它,对吗?是否有一种解决方案可以一次性定义它并在整个过程中使用它?在您提供的解决方案中,tsconfig.app.json中应该包含哪些内容?是的。你也可以选择一个父文件夹,比如
“src/*”:[“src/app/*”]
@TomaszSmykowski那么我的答案对你有帮助吗?如果是,请投赞成票,并将我的答案标记为接受。