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

使用uglifyjs命令添加content参数生成sourcemap报错求助

解决uglifyjs添加content参数后出现"invalid input source map"错误的问题

问题场景

  • 在MSBuild中使用uglifyjs压缩JS文件并生成sourcemap时出错,转而直接在命令行测试
  • 不带content参数的命令可正常生成压缩文件及sourcemap
  • 添加content参数后抛出invalid input source map错误

正常命令

node_modules\.bin\uglifyjs.cmd wwwroot\lib\jquery.validate.unobtrusive.js 
   --source-map "url='jquery.validate.unobtrusive.min.js.map',includeSources" 
   -o wwwroot\lib\jquery.validate.unobtrusive.min.js -c -m

报错命令

node_modules\.bin\uglifyjs.cmd wwwroot\lib\jquery.validate.unobtrusive.js 
   --source-map "url='jquery.validate.unobtrusive.min.js.map',content='wwwroot/lib/jquery.validate.unobtrusive.js.map',includeSources" 
   -o wwwroot\lib\jquery.validate.unobtrusive.min.js -c -m

错误信息

ERROR: invalid input source map: wwwroot/lib/jquery.validate.unobtrusive.js.map
    at parse_source_map (eval at <anonymous> (C:\Users\xxx\source\temp\node_modules\uglify-js\tools\node.js:18:1), <anonymous>:22118:15)
    at Object.minify (eval at <anonymous> (C:\Users\xxx\source\temp\node_modules\uglify-js\tools\node.js:18:1), <anonymous>:22234:38)
    at run (C:\Users\xxx\source\temp\node_modules\uglify-js\bin\uglifyjs:379:27)
    at Object.<anonymous> (C:\Users\xxx\source\temp\node_modules\uglify-js\bin\uglifyjs:287:5)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:17:47

解决方法

原因分析

content参数的作用是合并已有的sourcemap文件,你遇到的错误是因为指定的wwwroot/lib/jquery.validate.unobtrusive.js.map要么不存在、路径错误,要么不是合法的sourcemap格式。

具体步骤

  1. 判断是否需要content参数
    如果原JS文件(jquery.validate.unobtrusive.js)本身没有附带对应的sourcemap,完全不需要添加content参数,直接使用你之前的正常命令就能生成正确的sourcemap。

  2. 若需合并已有sourcemap

    • 检查文件路径:确认wwwroot/lib/jquery.validate.unobtrusive.js.map文件确实存在,且命令行的工作目录与该相对路径匹配(比如你是否在项目根目录执行命令)
    • 验证sourcemap合法性:用文本编辑器打开该文件,确认是符合JSON规范的sourcemap结构,必须包含version、sources、names、mappings等核心字段
    • 替换无效文件:如果文件损坏或格式错误,重新获取原JS文件对应的正确sourcemap

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 14:35:57