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那么我的答案对你有帮助吗?如果是,请投赞成票,并将我的答案标记为接受。