Dojo - 无法加载资源:服务器[...]响应状态为404

时间:2014-04-24 15:33:54

标签: html5 dojo ibm-mobilefirst

我正在使用Worklight 6.1.0.1。我创建了一个新的工作区并创建了一个新的dojo应用程序(对创建的Hello Worklight应用程序没有任何更改)。当我在Safari中以预览模式运行应用程序时,我在浏览器控制台中收到5个错误,告诉我它无法加载多个dojo javascript类:

  

[错误]无法加载资源:服务器响应状态为404(未找到)(favicon.png,第0行)

     

[错误]无法加载资源:服务器响应状态为404(未找到)(deviceTheme.js.map,第0行)

     

[错误]无法加载资源:服务器响应状态为404(未找到)(core-web-layer.js.map,第0行)

     

[错误]无法加载资源:服务器响应状态为404(未找到)(dojo.js.map,第0行)

     

[错误]无法加载资源:服务器响应状态为404(未找到)(mobile-ui-layer.js.map,第0行)

Dojo Library Requests视图显示对layers / core-web-layer.js.map,dojo / dojo.js.map和layers / mobile-ui-layer.js.map的请求。将这些复制到项目中没有帮助。

为什么要求-.js.map资源?我没有看到这个概念,谷歌也没有给出那么好的结果。

2 个答案:

答案 0 :(得分:2)

第一个错误非常简单......在HTML文件的HEAD中,有一个关于favicon.png的<link>声明,但是common \ images文件夹中不存在favicon.png;这实际上没问题,因为一个新的Worklight应用程序与此图像捆绑在一起由deafult。此外,此图像与移动Web和/或桌面浏览器页面环境更相关,而与移动环境无关。提供图像,或删除声明。

至于Dojo .map文件错误,我也得到它们(对于常见和Android环境):core-web-layer.js.map,mobile-ui-layer.js.map和dojo.js .map,但不适用于deviceTheme.js.map)。但是,应用程序仍然正常加载,所以此时我会说这是无害的。

那就是说,我会打开一个内部缺陷来验证这个问题。

答案 1 :(得分:0)

正如Idan所说,应用程序将在没有这些.map文件的情况下正确加载。 .map文件是源地图。它们是一种约定,为调试器提供了一种将缩小的javascript文件映射到原始源文件的方法。因此,当您查看浏览器开发人员工具的调试器中的JavaScript代码时,即使它正在执行压缩版本,您最终也会看到完整的源代码。

您的应用程序附带的Dojo已经缩小了性能。作为该过程的一部分,对.map文件的引用将附加到每个缩小的javascript文件中。当开发人员工具在文件末尾遇到此注释,说明在何处查找源映射时,它会发出文件请求。因此,您的开发人员工具会发出导致404的请求。但是,这些地图文件和完整的源代码似乎并不是Dojo库的一部分。