angular - Angular 10:手动将描述(*d.ts)文件添加到编译中
问题描述
我有一个角度库,其中包含描述文件 *.d.ts。在下面的结构中
├ src
│ ├ my-lib
│ │ ├ my-typedef.d.ts
│ │
│ │
│ └public_apit.ts
│
└ tsconfig.lib.json
在 tsconfig.lib.json 我已经包含它如下:
"include": [
"src/lib/typedefs"
],
编辑
在升级到 10 之前,它被设置为 angular 8。这些文件是在最终构建包中编译的,但是在 Angular 10 之后。我面临这个问题。虽然还有其他文件夹,但 typedefs。
我看到我们需要手动添加的角度升级指南,但不确定什么是正确的方法。
我们更新了 tsconfig.app.json 以限制编译的文件。如果您依赖编译中包含的其他文件,例如 typings.d.ts 文件,则需要手动将其添加到编译中。
https://update.angular.io/?l=3&v=8.0-9.0
回购问题:https ://github.com/amirgc/angular10-ng-build.git
- 下载回购。
- npm 安装
- 构建
解决方案
我发现这是预期的行为,因为ng-packagr的升级不会发出类型定义。如果我们想发出类型描述。要发出 .d.ts,我们可以使用 assets 选项,或者将文件更改为 .ts 扩展名。我们可以在 ng-package.json 文件中添加以下部分。
{
"ngPackage": {
"assets": [
"CHANGELOG.md",
"./typedefs/**/*.d.ts"
],
"lib": {
...
}
}
}
推荐阅读
- python - 根据位置将函数应用于numpy矩阵
- python - 为什么函数不改变数据框?
- python - 如何将python AES函数转换为C#代码
- crystal-reports - 如何使用 Crystal Report 在真实或实际销售发票收据(真实纸质模板)上绘制记录
- mysql - 如何在 UPDATE 期间解决错误代码 1175 mySQL?
- java - 如何使用 (Intent.ACTION_PICK) 通过 registerForActivityResult() 方法从图库中获取选定的图像到我的 ImageView?
- c - 如何在套接字中传递和接收命令行参数?
- java - 如何修复自签名证书的“TrustAnchor 不是 CA 证书”?(爪哇)
- signals - 如何将信号参数作为 int 而不是字符串发出?
- graphql - GraphQL 查询和突变在内部使用什么?