Javascript 闭包编译器源代码映射=空(Chrome)或错误(Firefox)代码窗口
我在'src'文件夹中有一组JavaScript文件,由闭包编译器在'src/comp'中的单个文件cw-around.js中编译,生成的源映射cw-around.js.map也在'src/comp'中 “/#sourceMappingURL=xxx”位于编译文件cw-around.js的末尾。 xxx是指向cw-around.js.map的完整HTTP链接(本地web服务器),正在浏览器中成功测试。 {“version”:3,“file”:“cw-around.js”是cw-around.js.map文件的开头 在开发模式/源文件列表中,我可以看到Chrome和Firefox中的相关文件(当我输入错误的xxx时,我只能看到编译的cw-around.js文件) 在那里,当我双击相关文件(cw-demodata.js,编译文件中包含的JavaScript文件名之一)时:Javascript 闭包编译器源代码映射=空(Chrome)或错误(Firefox)代码窗口,javascript,google-chrome-devtools,google-closure-compiler,source-maps,firefox-developer-tools,Javascript,Google Chrome Devtools,Google Closure Compiler,Source Maps,Firefox Developer Tools,我在'src'文件夹中有一组JavaScript文件,由闭包编译器在'src/comp'中的单个文件cw-around.js中编译,生成的源映射cw-around.js.map也在'src/comp'中 “/#sourceMappingURL=xxx”位于编译文件cw-around.js的末尾。 xxx是指向cw-around.js.map的完整HTTP链接(本地web服务器),正在浏览器中成功测试。 {“version”:3,“file”:“cw-around.js”是cw-around.js
出了什么问题?如何调查以确定出了什么问题?我找到了一个解决方案:编译js文件并在与js文件相同的目录中生成源映射。相关的js文件现在在Chrome和Firefox中都正确显示 以前,在成功打开已编译的js文件和源映射后,浏览器似乎无法找到并加载未编译的js文件。
如果控制台中有一条错误消息来快速发现问题,那就太好了。我刚才也遇到了同样的问题,它来自
源映射未正确设置。在源映射中,除了“version”
和“file”
)之外还有一个“sources”:[]
entry,它告诉浏览器在哪里可以找到实际的源文件(而不是源映射)
正如我和您一样,从子文件夹编译资产时,子文件夹路径在这个源数组中(即它是“sources”:[“src/comp/foo.js”]
而不是“sources”:[“foo.js”]
)。浏览器试图从我的Web服务器请求src/comp/foo.js
,但它显然不在那里,因为foo.js
直接在那里
解决此问题的方法是设置适当的sourceMapLocationMappings
。使用closure编译器cli,您可以使用。使用ant任务,您可以向任务调用添加一个
这将调整“sources”
以直接指向[“foo.js”]
,然后由您的Web服务器提供服务,并可通过开发工具找到
编辑:根据在--source\u map\u location\u mapping
中添加了双引号听起来像是浏览器错误,但无法看到或复制它,无法确定。3个不同浏览器中存在相同的错误?似乎不太可能。您的描述对于每个浏览器都不同,不一样。您使用的是什么操作系统?请制作一个屏幕查看你正在做什么,并将其添加到你的问题中。在Windows或OSX中,你可以使用。我在Windows 10上,我在描述中添加了两个屏幕截图