Angular导入自定义字体失败:TS7016类型声明文件缺失求助
解决Angular导入自定义pdfmake字体文件的TS7016错误
方法1:创建类型声明文件
- 在
assets/fonts/目录下新建custom-fonts.d.ts文件,写入以下代码:
declare module '../../../assets/fonts/custom-fonts' { const content: any; export default content; }
如果该目录下还有其他类似的JS字体文件,可以用更通用的匹配规则:
declare module '*.js' { const content: any; export default content; }
保存文件后重启Angular开发服务器,TypeScript会自动识别该声明文件,错误即可消除。
方法2:修改tsconfig.json关闭隐式any检查
- 打开项目根目录的
tsconfig.json,找到compilerOptions中的noImplicitAny,将其值改为false:
{ "compilerOptions": { // 其他配置项 "noImplicitAny": false } }
注意:此方法会关闭所有隐式any类型的检查,可能忽略其他潜在的类型问题,仅建议临时使用或在小型项目中采用。
方法3:使用require替代import
- 将原导入代码替换为CommonJS的
require语法:
const pdfFonts = require('../../../assets/fonts/custom-fonts');
TypeScript对require的类型检查更为宽松,不会触发该模块声明错误。
内容的提问来源于stack exchange,提问作者meth
相关产品推荐
相关产品推荐

