gpt4 book ai didi

道场 build ……?现在怎么办?

转载 作者:行者123 更新时间:2023-12-04 14:31:21 27 4
gpt4 key购买 nike

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

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

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

require([
'dojo/parser',
'dojo/dom',
'dojo/dom-class',
//etc...

'dijit/form/ValidationTextBox',
'dijit/form/CheckBox',
// etc...

// Dom Ready call
'dojo/domReady!']
function(
Parser,
Dom,
Class,
// etc...){
// do stuff with parser, dijits, so on.
}
)

为简洁起见,删除了一些 require 调用,但有一些 dom需要, style类,一些 dijits等。当这个页面加载时,会有无样式内容的闪烁,然后就可以了。

使用 Dojo Web Builder ,我选择了我正在使用的模块,然后运行它。它下载了一个压缩包,里面有很多文件,包括一个新的 dojo.jscustom_layer.js .

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

如此迷茫...

最佳答案

首先,让我们了解 AMD(require/define) API 的工作原理。

require([
'dojo/parser',
'dojo/dom',
'dojo/dom-class'
], function(parser, dom, domClass){
});

这将调用 require 函数,指定我需要三个模块才能完成一些工作。 require 将获取每个模块。如果将确定模块是否已加载。如果没有,它将异步获取文件,并将模块加载到 javascript 运行时。一旦 require 检索到所有必需的模块,它将执行您的回调(函数),将模块作为参数传递给函数。

接下来,让我们了解构建。 dojo 构建完全符合您的描述。它将一堆单独的文件压缩成一个文件。这将使页面加载更快并防止您描述的“闪光”。

最后,把它们放在一起,你应该包括 custom_layer.js文件连同 dojo.js文件。

<script type="text/javascript" src="path/to/dojo/dojo.js" />
<script type="text/javascript" src="path/to/custom_layer.js" />

Web 浏览器将加载这两个文件并评估代码。因为它是在 custom_layer.js .

因此,最后一个问题的答案是,您不应该根据您使用的特定代码版本(源代码与自定义构建)更改任何代码。使用 AMD api,它应该可以工作。

关于道场 build ……?现在怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12922618/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com