将dijit/dojo小部件导入worklight调色板

将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

上个月我一直在使用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/components/green/HorizontalLinearGauge.js

(我想显示一个滑块,但只找到了这个仪表)

但是我的项目中确实有dojo文件夹(里面有dijit/dojo/dojox文件夹)

有人知道怎么解决这个问题吗

干杯

  • 我使用Worklight Studio 5.0.5.1向导创建了一个包含Dojo并添加了iPad环境的项目和应用程序

  • 接下来,看看Dojo调色板,我看到了一个滑块小部件。我将其拖动到我的HTML:

  • Run As>Build All and Deploy
    并在MBS中预览环境时显示滑块:

  • 我在这台机器上没有Xcode,所以这是我现在能做的最好的了。

    您确定没有看到
    滑块
    小部件吗?

    如果您正在查找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文件中,找到patternset
    dojo.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);