如何使用简单的 Dojo 1.8 构建?

Posted

技术标签:

【中文标题】如何使用简单的 Dojo 1.8 构建?【英文标题】:How to use a simple Dojo 1.8 build? 【发布时间】:2012-11-10 06:08:03 【问题描述】:

我编写了一个依赖于托管在 Google CDN 上的 Dojo(1.8 版)的应用程序。代码看起来像这样并且工作正常:

<script src="//ajax.googleapis.com/ajax/libs/dojo/1.8/dojo/dojo.js"></script>
<script>
require(["dijit/form/TextBox", "dijit/form/Button", "dijit/form/Select", "dijit/form/ComboBox", "dojo/store/Memory", "dijit/Tooltip", "dojo/domReady!"],function(TextBox, Button, Select, ComboBox, Memory, Tooltip) 
// my code here
);
</script>

现在,我正在尝试为无法访问 CDN 的用户获取一个本地的、简单构建的 dojo。我去了build.dojotoolkit.org,选择了我的模块,并检索了一个自定义构建dojo.js(大小~400 kb)。然后我将它上传到我的服务器并修改了我的代码:

<script src="pathtoserver/pages/dojo.js"></script>
<script>
require(["dijit/form/TextBox", "dijit/form/Button", "dijit/form/Select", "dijit/form/ComboBox", "dojo/store/Memory", "dijit/Tooltip", "dojo/domReady!"],function(TextBox, Button, Select, ComboBox, Memory, Tooltip) 
// my code here
);
</script>

这不起作用。我假设我错过了一个简单的步骤,例如需要声明一个配置,但不幸的是我找不到任何关于如何使用简单构建的教程或示例。

[更新]我得到的错误是 404 not found 以下文件:

pathtoserver/pages/resources/blank.gif pathtoserver/dojox/gfx/svg.js

当然,我在那些位置没有任何东西,我只是将在线构建工具返回的 zip 文件的内容上传到服务器:dojo.js 和带有本地化文件的 nls 文件夹。

【问题讨论】:

【参考方案1】:

可能需要的不仅仅是 dojo.js,例如本地化包、模板(如果未内联)等。 build.dojotoolkit.org 应该为您提供一个 zip 文件以供使用。另外,看看网络面板,它应该会告诉您缺少什么。

【讨论】:

谢谢!我听从了你的建议,并用更多信息更新了帖子。本地化包已就位。 这很奇怪。我在您的代码中看不到任何引用 svg 的内容,并且 gif 不应阻止您的页面加载。您的页面上还有其他相关内容吗?您可以尝试将它提供的 zip 覆盖在标准 Dojo 版本之上,看看是否有帮助。不知道为什么需要这样做。 我没有放完整的代码,还有第二步做图表。测试页面在这里:usermanagedsolutions.com/Demos/Pages/ASPXtemplate.aspx。我在usermanagedsolutions.com/Demos/Pages/resources/blank.gif 添加了一个空白图像来解决第一条错误消息,但表单看起来仍然很奇怪。 CDN 中的一个工作正常:usermanagedsolutions.com/Demos/Pages/MiniBIEditMode.aspx

以上是关于如何使用简单的 Dojo 1.8 构建?的主要内容,如果未能解决你的问题,请参考以下文章

如何设置包含多个应用程序的 Dojo 构建流程?

如何在 XPages Domino 9 预览版中直接引用 Dojo 1.8 文件?

如何在 dojo 中加载 js 小部件文件? registerModulePath 工作,但在 1.8 包中不工作 - 立即需要帮助

如何告诉 Dojo 构建忽略“缺失”模板

如何从AMD dojo创建构建

如何在 file:/// 协议 (Cordova/Phonegap) 下使用来自 dojo 的自定义构建