Angular 角度库ng Packager不';t用相对路径替换tsconfig路径

Angular 角度库ng Packager不';t用相对路径替换tsconfig路径,angular,typescript,ng-packagr,Angular,Typescript,Ng Packagr,我有一个角度工作区(v10.0.2),其中包含一个库和一个应用程序(用于测试库) 在我的projects/libname/src/lib/tsconfig.lib.json中,我有一些路径: "baseUrl": "./src", "paths": { "@lib/*": ["lib/*"] } 我是这样用的: 从'@lib/utils/date.utils'导入{DateUtils};

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

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

"baseUrl": "./src",
"paths": {
  "@lib/*": ["lib/*"]
}
我是这样用的:

从'@lib/utils/date.utils'导入{DateUtils};
我得到这个警告:

警告:output.globals中没有为外部模块“@lib/utils/date.utils”提供名称–猜测“date\u utils”

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

找不到模块“@lib/utils/date”或其相应的类型声明


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

我找到的唯一解决方案是选择一个前缀,这样当软件包安装在
节点模块中时,您的路径将完全相同。

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

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

我强烈建议使用子条目,因为它不仅解决了这个问题,而且还支持树抖动。将有所帮助

遗憾的是,ng Packager似乎不支持此功能。非常悲惨,因为这是一个不包括在内的大功能。这里有一个链接指向一个开发人员不支持的线程。