问题标签 [dojo-build]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
960 浏览

dojo - 道场建造……?现在怎么办?

不久前,我研究了在使用 Dojo 和 Dojo 主题时出现“无样式内容闪烁”的解决方案。有人建议通过创建构建来组合所有内容,这将减少加载/解析时间并消除使用预加载器覆盖等的需要。

然而,Dojo 的许多功能似乎严重缺乏直接的、“真实世界”的使用示例和教程,尤其是这一点。许多资源告诉您如何设置构建,但没有告诉您如何实现它。

假设我在“pageinit.js”中有这个:

为简洁起见,删除了一些 require 调用,但有一些domrequires、styleclasses、somedijits等。当此页面加载时,会出现无样式内容的闪烁,然后就可以了。

使用Dojo Web Builder,我选择了我正在使用的模块并运行它。它下载了一个包含很多文件的 zip,其中包括一个新的dojo.jscustom_layer.js.

所以我现在的问题是,我如何使用这些新的组合和缩小文件来代替我的“非构建”版本?我该怎么办require?还是我?

如此迷茫...

0 投票
1 回答
866 浏览

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

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

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

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

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

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

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

0 投票
1 回答
2494 浏览

dojo - Dojo 构建 profile.layers 与 profile.dependencies.layers?

哇,这完全令人困惑,dojo 1.8 文档似乎是围绕构建层的完整 clusterf**k。有人知道那里发生了什么吗?

在构建脚本示例配置文件中,示例 amd.profile.js 具有profile.layers["dojo/dojo"]并且教程遵循相同的语法。

除了教程之外,在 1.8构建文档中没有提到这种结构,而是profile.dependencies.layers[n]

该文档还引用了非 AMD 语法,并且为了增加另一个混淆“层”,还有一个profile.dependencies.layers[n].dependencies

我应该使用哪个?这实际上是否以任何一致性或清晰性记录在任何地方?

0 投票
1 回答
718 浏览

dojo - Dojo 构建配置文件没有 dojo 层 (>1.7)

我有一个构建两层的 dojo 构建配置文件——一层是 dojo/dojo 层,另一层用于我的应用程序文件。

这一切都很好,并产生了两个“大”文件(main.js 和 dojo.js),其中包含所有必需的代码。

但是,我真的不想在构建应用程序时一直构建“dojo/dojo”层,这需要很长时间(>100 秒),并且由于该层并没有真正发生巨大变化,我不想要继续建造它。

问题是,即使只有一层“app/main”,构建仍在创建所有 dojo/dijit/dojox 文件并且仍然需要很长时间(我知道我不需要这些文件,但它仍在解析/优化/压缩...所有这些文件)。

有没有办法避免这种情况?我只想要一个简单的小型应用程序文件。

这是我的个人资料:

0 投票
1 回答
676 浏览

dojo - 增强网格过滤器插件的 Dojo AMD 样式模板

我有一个带有过滤器插件的增强网格,如下所示:

当我调用上述 HTML 时,我看到许多与 Filter 插件相关的 html 文件正在下载,其中包括:

我希望这些文件成为 EnhancedGrid Javascript 的一部分。到目前为止,我找到了以下解决方案:

http://grokbase.com/t/dojo/dojo-interest/11bs5jf64d/custom-build-including-css-and-html-files

但是我无法在上面的链接中了解如何使用 Kallenboone 的代码。

有人可以帮忙吗?

0 投票
1 回答
237 浏览

dojo - 1.8.1 中的 Dojo 自定义构建

当我们为 dojo 创建自定义构建时,它还将各种小部件的 html 模板内化到该小部件的 js 文件中。

对于 EnhancedGrid 的 Filter 插件,直到 1.8.0 才出现上述情况,并在 1.8.1 中修复。我已经使用 dojo 1.8.0 编写了我的应用程序。

在使用 dojo 1.8.0 时,是否有任何解决方法可以让增强网格过滤器插件的 html 模板内部化

0 投票
3 回答
8592 浏览

dojo - Dojo 1.9 在加载语言环境时构建“multipleDefine”错误

我的 dojo 应用程序在构建后中断,在加载应用程序期间,抛出“multipleDefine”并给出此错误:

错误{src:“dojoLoader”,信息:对象}

消息:多重定义

信息:对象{pid:“dojo”,mid:“dojo/nls/dojo_en-us”,pack:对象,url:“dojo/nls/dojo_en-us.js”,执行:5…}

这是我的个人资料:

}

这是 src/ 中的 index.html

注意:build.sh负责在部署到生产环境时删除“isDebug”标志。如果您完全修改此标志,您将破坏构建!

这是在 dist/ 中生成的 index.html

我检查以确保 dojo/nls/dojo_en-us.js 存在并且没问题。我被困在这一点上,没有任何线索!

任何解决此问题的帮助表示赞赏。

0 投票
0 回答
81 浏览

dojo - 使用 dojo 构建跳过依赖项

我有带有下一个字符串的 .profile.js 文件:

并在此构建中构建了数千个文件的连接后,

如何跳过它并仅加入指定的文件,不包括所有依赖项?

0 投票
1 回答
169 浏览

dojo - Dojo 请求已内联的 Dijit 模板 --Google Closure build

我已经在 StackOverflow 上问过这个问题,该解决方案应该已经在提交中进行了修补:

但即使在使用此设置进行了一些广泛的测试之后:

  • Dojo / DojoX / Dijit 1.8.3
  • 使用它的最新版本(GitHub上的主分支)

我一直遇到同样的问题。

问题如下:

在使用 util build.sh 脚本构建我的应用程序之后。我的个人资料是:

并运行:

  • 1) 我的 Dijit 模板像应有的那样内联在输出文件中,但是在运行应用程序时,Dojo 仍在为已经内联的模板发出 Ajax 请求!

  • 2*) nls 目录被放置在错误的目录中(dojo 目录代替了根目录)并且必须被移动。(我不确定这是否与我遇到的错误有关。)

内联格式为:

模板要求格式:

提前致谢 !

0 投票
1 回答
2410 浏览

dojo - dojo build - nls 捆绑包,除非捆绑包位于“dojo/dojo”中,否则构建会失败?

这是我对构建失败的提炼。症状是,当使用 shrinksafe 进行优化时,我的构建将失败并出现以下错误:

如果我的代码使用以下模式拉入其 nls 文件

但是,这种结构在许多构建干净的 dojo 代码中很常见。因此,我通过将一些 dojo 代码复制到我的模块中来进行实验,发现如果将 nls 资源加载到 dojo/dojo 层中,那么我的层会正确构建,如果我在自己的层中加载相同的 nls 资源,则会出现上述故障。

因此,将其缩减为最小的情况,我将 dijit/form/_ComboBoxMenuMixin.js 复制到我自己的模块以及相应的 nls 资源中。

我有三个测试用例,一个有效,另外两个给出上述失败。

我的问题:

好像我需要在“dojo/dojo”层中包含我自己的nls资源,它必须正是这一层。这肯定不对吧?我的替代方案是什么?

工作简介:

失败:nls 在同一层

失败,以不同的层名加载 nls