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

Webpack打包Angular11 TypeScript项目生成JS source map而非TS源映射问题

问题根因

你配置的@ngtools/webpack没有透传TypeScript编译阶段的源映射到Webpack打包链路,导致Webpack只能拿到编译后的JS代码生成源映射,无法关联到原始TS源码。

修复步骤

  1. 更新tsconfig.json配置
    确保TypeScript编译器开启源映射生成,在compilerOptions中添加以下配置:
{
  "compilerOptions": {
    "sourceMap": true,
    "inlineSources": true,
    "mapRoot": "./"
  }
}
  1. 修改AngularCompilerPlugin配置
    在你现有的AngularCompilerPlugin初始化参数中显式开启源映射:
new AngularCompilerPlugin({
    skipCodeGeneration: false,
    typeChecking: true,
    tsConfigPath: path.resolve(srcDir, 'tsconfig.json'),
    compilerOptions: {
        entryModule: 'something.module#SomethingModule',
    },
    // 新增配置,开发环境开启源映射
    sourceMap: dev
}),
  1. 调整TerserPlugin的源映射开关
    你当前配置TerserPlugin始终开启源映射,但生产环境你未配置devtool,建议修改为和环境匹配:
new TerserPlugin({
    sourceMap: dev, // 仅开发环境生成源映射
    parallel: true,
    // 其余原有配置保持不变
})

额外小提示:你的Webpack配置头部缺少path模块引入,运行时会报错,建议在最上方添加const path = require('path');。

验证方法

修改后启动带--watch的开发构建,打开浏览器调试工具的Sources面板,在webpack://目录下找到你的原始.ts源码文件,打断点即可确认映射是否生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 14:15:03