如何使用RequireJS,并为所有页面提供一些通用的JavaScript代码?如果我在模板中有一个带有datamain的脚本标记(在所有页面上使用),那么我可以在其他需要他们需要的页面上有一个require(...)吗?这会导致加载顺序出现问题吗?会的吗?我还想在模板中有第二个脚本标记,它包含所有公共代码(在RequireJS之外)。这是唯一的方法吗?
答案 0 :(得分:1)
强文>如何使用RequireJS,并为
提供一些常用的JavaScript代码所有页面?
这个问题的答案有用 - How does RequireJS work with multiple pages and partial views?
然后我可以在需要什么的其他页面上有一个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的真正基础(需要依赖项并在它们准备就绪时执行代码),因此可能值得拥有detailed read of the documentation (which is superb)。
最后要注意的是,您需要在paths
配置中设置jQuery的路径,并且我不确定jQuery UI是否将自身注册为模块。如果没有,您需要使用shim
配置选项
答案 1 :(得分:0)
创建文件并将代码放在其中
define(function () {
this.myProp = '';
})
在requirejs.conf
中设置文件的路径 path { myfile: 'js/myfile'}
您现在可以像这样加载
require([myfile], function (myfile) {
console.log(myfile.myProp)
})