Worklight 中的 Dojo 文件缓存
Posted
技术标签:
【中文标题】Worklight 中的 Dojo 文件缓存【英文标题】:Dojo File Caching in Worklight 【发布时间】:2013-11-11 14:58:24 【问题描述】:当使用 Dojo 文件缓存和 Worklight 在模拟器中运行时收到 404 错误。似乎正在加载的文件没有从公共区域复制到设备。我还需要在我的项目中定义什么来实现这一点吗?必须有一个约定,我想继续遵循它,因为我希望项目中有更多的模板文件。
我在 .js 文件中的定义语句:
define(["dojo/_base/lang", "dijit/layout/ContentPane", "dojo/dom", "dojo/text!./templates/Order.html"], function(lang, ContentPane, dom, template)
...
var cp1 = new ContentPane(
title:"Order",
content: lang.replace(template, someJson)
).placeAt("temp");
我的文件夹结构: 在 common/js 目录中,我有一个 .js 文件中的上述代码,我有一个模板文件夹来保存 Order.html,我希望将来会有其他模板文件存储在那里。
控制台出错:
GET http://localhost:10080/DojoProject/apps/services/preview/DojoApp/windowsphone8/1.0/default/layers/templates/Order.html 404 (Not Found)
【问题讨论】:
【参考方案1】:您指定路径的方式似乎是,浏览器尝试在与“模板”同级的“层”文件夹中查找文件。
您是否尝试将“dojo/text!./templates/Order.html”修改为:“dojo/text!./../templates/Order.html”以向上导航一级,然后继续进入模板文件夹?
我不确定这是否可行,但我认为值得一试。
【讨论】:
是的,感谢您的回复,我之前尝试过。据我所知,Worklight 似乎没有在生成后复制模板文件。我能找到的唯一解决方法是将文件手动暂存到 Windows Phone 目标,但这不是一个很好的解决方案,因为所有设备都应该可以访问这样的常见文件。以上是关于Worklight 中的 Dojo 文件缓存的主要内容,如果未能解决你的问题,请参考以下文章
如何将 dojo javascript 文件导入 worklight 应用程序?
wl 6.1 中的 worklight apk 中缺少 dojo/_base/*js
IBM Worklight 6.0 - Worklight Starter Dojo 示例损坏?