如何使用 RequireJS,并为所有页面提供一些通用的 JavaScript 代码?如果我在模板中有一个带有 datamain 的脚本标签(在所有页面上使用),那么我可以在需要他们需要的其他页面上使用 require(...) 吗?这会导致加载顺序出现问题吗?对吗?我还想在模板中有第二个脚本标签,它有所有的公共代码(在 RequireJS 之外)。这是唯一的方法吗?
问问题
457 次
2 回答
1
strong text > 你如何使用 RequireJS,并有一些通用的 JavaScript 代码
所有页面?
这个问题的答案会有所帮助 - RequireJS 如何处理多个页面和部分视图?
然后我可以在需要他们需要的其他页面上有一个 require(...) 吗?这会导致加载顺序出现问题吗?对吗?
不,这很好。如果你愿意,你可以调用同一个模块,它只会被加载一次。一个常见的例子是多个 require 调用都需要jquery
。您每次都需要它来确保它的存在,但没有任何惩罚,因为 RequireJS 足够聪明,可以只获取一次。
编辑以回答评论:请求 jQuery 和/或 jQuery UI 作为定义或要求的依赖项,然后回调将执行:
require(['jquery', 'jquery-ui'], function($) {
// jQuery is passed in as first argument but as jquery-ui
// merely augments jQuery we don't need it as the second argument
});
这是 RequireJS 的真正基础(需要依赖项并在它们准备好时执行代码),因此可能值得详细阅读文档(非常棒)。
最后要注意的是,您需要在paths
配置中设置 jQuery 的路径,我不确定 jQuery UI 是否将自身注册为模块。如果没有,您将需要使用shim
config 选项
于 2012-11-27T13:47:49.173 回答
0
创建您的文件并将代码放入其中,如下所示
define(function () {
this.myProp = '';
})
在 requirejs.conf 中设置文件的路径
path { myfile: 'js/myfile'}
您现在可以像这样加载它
require([myfile], function (myfile) {
console.log(myfile.myProp)
})
于 2012-11-27T11:10:07.447 回答