Angular 角度库中的导入路径
为了缩短库中的导入路径,我添加了Angular 角度库中的导入路径,angular,typescript,Angular,Typescript,为了缩短库中的导入路径,我添加了 "paths": { "@services": ["lib/services"] } 我的tsconfig.lib.json。我的目录结构基本上是默认的,有多个项目使用一个库: projects library/ src/ lib/ services/ index.ts tsconfig.lib.json [projects...] 我想使用像这样的导入 import {servic
"paths": {
"@services": ["lib/services"]
}
我的tsconfig.lib.json
。我的目录结构基本上是默认的,有多个项目使用一个库:
projects
library/
src/
lib/
services/
index.ts
tsconfig.lib.json
[projects...]
我想使用像这样的导入
import {service} from "@services";
就在我的库中-但到目前为止,我收到一个“找不到模块@services
”错误
我猜路径是错误的-但我不知道如何修复它。有人有主意吗
编辑:Used baseUrl:“src”-这适用于构建,但在使用ng serve启动一个项目时不适用(由于相同的错误,“找不到模块”)。(未使用aot标志)
谢谢。您是否根据文档添加了baseurl bcs 您需要更新tsconfig.json中的路径,以及类似的内容
"baseUrl":"./",
"paths:"{
"@services/*":["projects/ng-otp-input/src/lib/services"],
...
}
此外,您还需要在
tsconfig.lib.json
中添加相同的配置。您是否按照文档添加了baseurl bcs
您需要更新tsconfig.json中的路径,以及类似的内容
"baseUrl":"./",
"paths:"{
"@services/*":["projects/ng-otp-input/src/lib/services"],
...
}
此外,您还需要在
tsconfig.lib.json
中添加相同的配置,请参阅此tsconfig.json。确保此配置文件与src文件夹处于同一级别
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"paths": {
"@app/*": [ "src/app/*" ],
"@core/*": [ "src/app/core/*" ],
"@environments/*": [ "src/environments/*" ],
"@shared/*": [ "src/app/shared/*" ]
},
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
}
}
请参阅此tsconfig.json。确保此配置文件与src文件夹处于同一级别
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"paths": {
"@app/*": [ "src/app/*" ],
"@core/*": [ "src/app/core/*" ],
"@environments/*": [ "src/environments/*" ],
"@shared/*": [ "src/app/shared/*" ]
},
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
]
}
}
在过去的几天里,我一直在努力解决同一个问题,并找到了一个解决方案,至少花了10年时间 在
tsconfig.lib.json
上,您必须定义baseUrl
,就像jitender提到的那样。
路径需要相对于tsconfig.lib.json
所在的位置
以下是对我有效的两个选项:
"baseUrl": "./",
"paths": {
"@services/*": ["src/lib/services/*"]
}
及
在过去的几天里,我一直在努力解决同一个问题,并找到了一个解决方案,至少花了10年时间 在
tsconfig.lib.json
上,您必须定义baseUrl
,就像jitender提到的那样。
路径需要相对于tsconfig.lib.json
所在的位置
以下是对我有效的两个选项:
"baseUrl": "./",
"paths": {
"@services/*": ["src/lib/services/*"]
}
及
将“导入器”:true,
也添加到ts配置中。将“导入器”:true,
也添加到ts配置中。角度10。
我们应该添加tsconfig.base.json
"paths": {
"@services/*": ["src/lib/services/*"]
}
注意:当您进行更改时,每次都应重新生成项目,否则如果使用@service
,将导致错误。因为如果面对多次。角度10。
我们应该添加tsconfig.base.json
"paths": {
"@services/*": ["src/lib/services/*"]
}
注意:当您进行更改时,每次都应重新生成项目,否则如果使用
@service
,将导致错误。因为如果多次面对。您是否根据文档添加了baseurl BC?您是否根据使用的文档添加了baseurl BC?baseurl:“src”
-这适用于构建,但在使用ng serve
启动一个项目时不起作用(由于相同的错误,“找不到模块”)。(未使用aot标志)@nehalist我发现了一些与您的查询相关的内容,希望这能解决您的问题使用baseUrl:“src”
-这适用于构建,但在使用ng serve
启动一个项目时不起作用(由于相同的错误,“找不到模块”)。(未使用aot标志)@nehalist我发现了一些与您的查询相关的内容,希望这能解决您的问题。请在您的答案中添加一些解释,以便其他人可以从中学习。请在您的答案中添加一些解释,以便其他人可以从中学习