Angular 18 Karma测试中SVG文件加载器配置问题求助
解决Angular 18测试环境SVG加载失败问题
你的应用构建阶段已经通过loader配置让SVG以文本形式加载,但测试环境使用独立的构建配置,未同步该规则,导致测试时解析SVG失败。按以下步骤修复:
1. 给测试环境添加SVG Loader配置
打开angular.json,定位到项目的test构建配置节点(路径:projects -> [你的项目名称] -> architect -> test),在options中添加与应用构建一致的loader配置:
"test": { "builder": "@angular-devkit/build-angular:karma", "options": { // 保留原有配置(如tsConfig、polyfills等) "loader": { ".svg": "text" } } }
2. 确保TypeScript识别SVG模块
如果测试用的tsconfig.spec.json未包含SVG类型声明,需补充:
- 在项目
src目录下创建svg.d.ts文件,内容如下:
declare module "*.svg" { const content: string; export default content; }
- 确认
tsconfig.spec.json的include字段覆盖了该类型文件:
"include": [ "src/**/*.spec.ts", "src/**/*.d.ts" ]
3. 重启测试服务
关闭当前运行的ng test进程,重新执行ng test,即可解决SVG加载报错问题。
内容的提问来源于stack exchange,提问作者GuiGui16
相关产品推荐
相关产品推荐

