将dijit/dojo小部件导入worklight调色板
上个月我一直在使用IBM Worklight,我发现即使在创建混合应用程序时导入了Dojo工具包,我也无法在调色板中看到dijit组件,并且一些Dojo/dojox组件会导致错误 这是我的配置:将dijit/dojo小部件导入worklight调色板,dojo,ibm-mobilefirst,Dojo,Ibm Mobilefirst,上个月我一直在使用IBM Worklight,我发现即使在创建混合应用程序时导入了Dojo工具包,我也无法在调色板中看到dijit组件,并且一些Dojo/dojox组件会导致错误 这是我的配置: 视窗XP Eclipse SDK版本:3.7.2 IBM Worklight 5.0.5 Dojo版本1.8.1-20121024 因此,我在启动应用程序时出错: 加载资源失败:服务器响应状态为404(未找到) URL/ipad/1.0/default/dojox/dgauges/component
- 视窗XP
- Eclipse SDK版本:3.7.2
- IBM Worklight 5.0.5
- Dojo版本1.8.1-20121024
Run As>Build All and Deploy
并在MBS中预览环境时显示滑块:
您确定没有看到
滑块
小部件吗?如果您正在查找dijit表单水平滑块,您可以右键单击调色板的内容,然后在“自定义调色板”对话框中单击自定义…
,选择Dojo表单小部件
类别,然后取消选中隐藏
。当您展开Dojo表单小部件时
,您可以选择水平滑块
并取消选中隐藏
。单击OK
,这些项目将显示在调色板中
但是对于移动页面上的滑块,Idan建议使用Dojo移动滑块可能比使用dijit滑块要好。为了提高构建性能,使用Dojo的应用程序使用
build Dojo.xml
文件指定要在构建中包含哪些文件。默认情况下,它针对移动开发进行了优化。如果希望包含HorizontalSlider,最简单的方法是取消注释
,但在注释之后保留
元素。这将为您提供一个模式集“dojo/dojo.js.compressed.js”、“dojo/core web layer.js.compressed.js”和“dojo/dijit layer.js.compressed.js”
如果您使用调色板拖放HorizontalSlider,它应该在应用程序的标记中添加对dijit.css和claro.css的引用。因此,需要将这些资源添加到应用程序中,以设置小部件的样式。您可以通过将dijit/themes/claro/目录和dijit/themes/dijit.css文件复制到应用程序中来手动执行此操作。但是正如我们所看到的,build-dojo.xml文件自动将这些东西添加到构建中。在build-dojo.xml文件中,找到patternsetdojo.resources.loose模块
。并增加以下内容:
<include name="dijit/themes/claro/**"/>
<include name="dijit/themes/dijit.css"/>
保存应用程序的JS文件,并像平常一样预览应用程序。这将修复404问题并呈现HorizontalSlider小部件。您可以尝试使用将近2年的更新版本Worklight 6.1.0(您可以从Eclipse>帮助>Eclipse Marketplace>搜索“Worklight”获得它)。Worklight 5.0.5已完全过时。看看你是否还这样。不幸的是,我想我现在不能改变,因为我有一台专业电脑。。。你不知道这件事吗?我不知道如何将这些文件“包含”到服务器,我想我不应该这样做,因为它们是项目的一部分。我甚至没有安装此版本。:)这不是一个鼓励使用的版本。。。让我看看……对不起,是的,我确实看到了一个滑块,但我参考了此文档而不是此文档:因为第一个更适合我的需要。我有没有可能在我的Worklight版本中使用dijit版本?为什么我不能用水平线呢?这实际上与nsand回答中的“为什么即使我导入了dojo toolkit,服务器仍找不到claro.css,而我却出现了404错误”的问题是一样的。也许他会知道。谢谢你的回答,但dijit更适合我的需要:/有没有可能我可以使用它?我做了,但我仍然有404个错误,这是一张照片,可能会更清楚地发现我的问题,但是,我不知道如何解决这个问题,因为Worklight 6.1中有一个例子,您在发布的链接中看到了6.1吗?我遵循了上一篇文章中的链接,该链接导致了。然后,如果您选择Login form and authenticator,您将被重定向到图表小部件的示例,但此示例在WL6.1中。但我在页面右侧的菜单中找到了WL5.0.5的示例,但与主题无关。非常感谢您的回答。当我删除了我导入到我的页面中的滑块,但仍然存在这个问题时,我将尝试你的想法。我会将滑块重新导入我的页面。它可能是由错误的导入引起的。我会告诉你清理过的projet,从HTML页面中删除了我的滑块+标题中的两个导入
,并删除了dojo XML文件中的两个包含项。仍然有错误实际上,我添加的每个不属于默认加载的小部件的小部件都会导致404代码出错。我错过什么了吗?我不认为我应该做任何事情,除了拖放到我的HTML页面的小部件。哎呀,我忘记了一个步骤。在应用程序的JS文件中,您将在wlCommonInit中看到一个require。除了build-dojo.xml中的更改外,还需要在数组末尾添加另一个模块:“dojo/dijit层”。我已经编辑了答案以包含此步骤。我非常确定我必须进行这种导入,但我自己尝试了dojoInit()
方法,而不是wlCommonInit()
。无论如何,非常感谢,因为我在Chromium模拟器中不再有404错误,滑块就是我需要的
require([ "dojo/core-web-layer", "dojo/mobile-ui-layer", "dojo/mobile-compat-layer", "dojo/dijit-layer" ], dojoInit);