Angular 11安装angular-tree-grid后lz-string导出成员缺失问题解决
解决Angular 11中secure-ls与lz-string类型不兼容问题
问题原因
angular-tree-grid依赖的secure-ls版本与新版lz-string的类型定义不匹配——新版lz-string移除了LZStringStatic导出成员,但secure-ls的类型声明仍在引用该成员,直接更新包无法解决依赖链的版本锁定问题。
可行解决方案
方案1:锁定lz-string到兼容版本
安装保留LZStringStatic类型定义的特定版本lz-string:
npm install lz-string@1.4.4 --save-exact
方案2:修改secure-ls类型声明并永久化补丁
- 找到项目内
node_modules/secure-ls/dist/secure-ls.d.ts文件 - 打开第24行,将
LZString.LZStringStatic替换为typeof LZString - 为避免
node_modules更新后修改丢失,安装patch-package生成永久补丁:
npm install patch-package --save-dev npx patch-package secure-ls
后续执行npm install时会自动应用该补丁。
方案3:降级angular-tree-grid到适配版本
查找与Angular 11、lz-string旧版更兼容的angular-tree-grid版本,执行安装:
npm install angular-tree-grid@<兼容版本号>
内容的提问来源于stack exchange,提问作者Priya
相关产品推荐
相关产品推荐

