You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置ts-loader使其不将.html文件作为TypeScript处理?

错误原因

这个报错是TypeScript类型检查阶段抛出的,和你配置的webpack loader无关。你调整raw-loader顺序、使用inline loader都属于webpack打包层面的配置,不会影响TS本身的模块解析逻辑。
TS默认只识别.js、.jsx、.ts、.tsx、.d.ts等后缀的模块,遇到.html这种非标准模块后缀时,会自动补全它能识别的后缀去查找文件,就会出现你日志里提到的检索xxx.html.ts、xxx.html.js这类文件的情况,找不到就抛出TS2307错误。

解决方法

需要同时保留你的webpack raw-loader配置(负责打包时把html文件转为字符串导入),再补充TS的模块类型声明即可,操作分为两步:

  1. 新增HTML模块的类型声明
    在你的TS项目根目录或自定义types目录下,新增一个后缀为.d.ts的声明文件(比如global.d.ts),写入如下内容:
declare module '*.html' {
  const content: string
  export default content
}

如果你的项目使用CommonJS模块规范,可以把导出语句替换为export = content。
如果你坚持使用inline的raw-loader导入写法,需要额外补充如下声明:

declare module '!!raw-loader!*.html' {
  const content: string
  export default content
}
  1. 确认tsconfig.json配置
    检查tsconfig.json中的include字段,确保你刚写的.d.ts文件被包含在TS解析范围内,示例配置如下:
{
  "compilerOptions": {
    // 其余原有配置保持不变
  },
  "include": [
    "src/**/*",
    "global.d.ts" // 替换为你实际的声明文件路径
  ]
}

配置完成后重启TS服务即可解决报错。

内容的提问来源于stack exchange,提问作者patrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:06:04