0

如何使用 RequireJS,并为所有页面提供一些通用的 JavaScript 代码?如果我在模板中有一个带有 datamain 的脚本标签(在所有页面上使用),那么我可以在需要他们需要的其他页面上使用 require(...) 吗?这会导致加载顺序出现问题吗?对吗?我还想在模板中有第二个脚本标签,它有所有的公共代码(在 RequireJS 之外)。这是唯一的方法吗?

4

2 回答 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 是否将自身注册为模块。如果没有,您将需要使用shimconfig 选项

于 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 回答