为缩短我在库中的导入路径,我添加了
"paths": {
"@services": ["lib/services"]
}
到我的tsconfig.lib.json
。我的目录结构大多是默认目录,有多个项目使用一个库:
projects
library/
src/
lib/
services/
index.ts
tsconfig.lib.json
[projects...]
我想使用像
这样的导入import {service} from "@services";
就在我的库中-但是到目前为止,我收到“找不到模块@services
”错误。
我猜路径不正确-但我不知道如何解决该问题。有人知道吗?
edit:使用的baseUrl:“ src”-适用于构建,但是在使用ng serve启动项目之一时不起作用(由于相同的错误,“无法找到模块”)。 (不使用aot标志)
谢谢。
答案 0 :(得分:0)
您是否根据文档base url must be specified if "paths" is.添加了baseurl bcs?
您将需要更新tsconfig.json中的路径以及类似的内容
"baseUrl":"./",
"paths:"{
"@services/*":["projects/ng-otp-input/src/lib/services"],
...
}
此外,您将需要在tsconfig.lib.json
For more info Refer to this SO post
答案 1 :(得分:0)
请参阅此tsconfig.json。确保此配置文件与src文件夹位于同一级别
myUsrName
答案 2 :(得分:0)
过去的两天里,我一直在努力解决同一问题,并且至少为Angular 10找到了解决方案。
在tsconfig.lib.json
上,您必须必须定义baseUrl
,就像提到的jitender一样。
路径必须相对于tsconfig.lib.json
所在的位置。
以下两种方法对我有用:
"baseUrl": "./",
"paths": {
"@services/*": ["src/lib/services/*"]
}
和
"baseUrl": "src/lib",
"paths": {
"@services/*": ["services/*"]
}
答案 3 :(得分:0)
也将 "importHelpers": true,
添加到您的 ts 配置中。
答案 4 :(得分:0)
在 Angulare 10 中。
我们应该添加 tsconfig.base.json
。
"paths": {
"@services/*": ["src/lib/services/*"]
}
注意:当您进行更改时,每次都应重新构建项目,否则如果使用 @service
则会出错。因为如果面对多次。