Angular库构建报TS2339错误:Window无customFunction属性求助
解决Angular库构建时Window扩展类型不识别的TS2339错误
问题根源
VSCode能识别自定义的Window类型扩展,但Angular库构建时使用的是库专属的tsconfig.lib.json配置,默认不会自动包含你新增的.d.ts类型文件,导致TypeScript编译时无法找到customFunction的类型定义。
修复步骤
更新库的TypeScript配置文件
打开projects/lib-test/tsconfig.lib.json,在include数组中添加自定义类型文件的路径:{ "include": [ "src/**/*.ts", "src/types/window.d.ts" ] }若需要批量包含
types目录下的所有类型文件,可改为:"include": [ "src/**/*.ts", "src/types/**/*.d.ts" ]确认类型文件的模块声明正确
你的window.d.ts中已经包含export {};,这是声明全局接口的必要条件(将文件转为模块),无需修改。重新执行构建命令
运行ng build lib-test,此时TypeScript编译器会正确识别扩展的Window类型,报错将消失。
额外检查项
- 核对
tsconfig.lib.json的compilerOptions.types字段:若该字段有值,确保未排除全局类型;若为空,不影响,因为include已覆盖自定义类型文件。 - 确认
window.d.ts的路径、文件名大小写与实际文件一致(Linux/macOS环境对大小写敏感)。
内容的提问来源于stack exchange,提问作者Kelvin
相关产品推荐
相关产品推荐

