gpt4 book ai didi

Angular 库 ng-packagr 不会用相对路径替换 tsconfig 路径

转载 作者:行者123 更新时间:2023-12-05 06:09:47 27 4
gpt4 key购买 nike

我有一个 Angular 工作区 (v10.0.2),其中包含一个库和一个应用程序(用于测试库)。

在我的 projects/libname/src/lib/tsconfig.lib.json 中,我有一些路径:

"baseUrl": "./src",
"paths": {
"@lib/*": ["lib/*"]
}

我是这样使用它的:

import { DateUtils } from '@lib/utils/date.utils';

我收到这个警告:

WARNING: No name was provided for external module '@lib/utils/date.utils' in output.globals – guessing 'date_utils'

AFAIK,这意味着 tsconfig 路径未被替换,因此 ng-packagr 将其视为外部模块。当我查看 dist 文件夹时,我看到 '@lib/utils/date.utils' 仍然存在并且没有被相对路径替换。如果我忽略警告,当我提供测试应用程序时,它会给出此错误:

Cannot find module '@lib/utils/date' or its corresponding type declarations.

我搜索了很多,阅读了很多问题和 SO 问题,但没有找到解决方案。

最佳答案

我找到的唯一解决方案是选择一个前缀,以便在 node_modules 中安装包时您的路径将完全相同

例如,如果您的包名称是 xyz,您的 tsconfig 将是:

"paths": {
"xyz/*": ["lib/*"]
}

我强烈推荐使用子条目,因为它不仅解决了这个问题,而且还支持 tree shaking。 This article会有帮助

关于Angular 库 ng-packagr 不会用相对路径替换 tsconfig 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64628739/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com