Requirejs Require.js编译器生成不准确的源映射

Requirejs Require.js编译器生成不准确的源映射,requirejs,source-maps,Requirejs,Source Maps,我正在使用require.js的构建工具(通过grunt contrib requirejs)将我所有的代码打包成一个小型版本,并且我已经打开了generateSourceMaps 但是,生成的源映射是错误的。在一些文件中,它们很好,在另一些文件中,它们只差一两行;在某些情况下,它们最多偏离17行。出了什么问题 关于我的回购协议,可能有一些奇怪的事情: 集成到构建中的把手模板(使用Alex Sexton的预编译) 许多未包含require代码标准的填充文件(cordova、主干、木偶) 我使用

我正在使用require.js的构建工具(通过grunt contrib requirejs)将我所有的代码打包成一个小型版本,并且我已经打开了generateSourceMaps

但是,生成的源映射是错误的。在一些文件中,它们很好,在另一些文件中,它们只差一两行;在某些情况下,它们最多偏离17行。出了什么问题

关于我的回购协议,可能有一些奇怪的事情:

  • 集成到构建中的把手模板(使用Alex Sexton的预编译)
  • 许多未包含require代码标准的填充文件(cordova、主干、木偶)
  • 我使用r.js连接文件,但不是缩小它们。缩小文件并不能解决问题(会出现相同的行错误)
  • 在某些配置中,r.js给出一个错误,表示如果启用了preserveLicenseComments,它将无法生成源映射。在其他情况下(不缩小时),保留许可评论似乎没有问题。不管怎样,关闭它都无助于更正行号
  • 后面在sourcemap头中列出的文件似乎有更大的错误
这可能是什么原因造成的,我如何修复它

更新 我已经缩小了范围:sourcemap generator每次遇到这样的行时都会丢失一行:

console.log('l170');     // logs as on line 170
//>>excludeStart('excludeHbsParser', pragmas.excludeHbsParser)
console.log('l172');     // logs as on line 171
我不确定r.js解析器对这些行做了什么,但它似乎没有在sourcemap生成中正确地解释它们。

添加到r.js配置:

skipPragmas:true
他为我做了这个把戏,不确定这是否对每个人都有帮助


如果看不到问题的最小示例,就很难判断发生了什么。我过去使用的
generateSourceMaps
没有问题。我也有同样的问题@futuraprime,你找到解决方案了吗?我提出了一个问题,James Burke说pragmas不受欢迎,他对修复()不感兴趣。我只是删除了pragmas。可能是