我想使用requireJS。但是,我有一个需要在DOM之前加载的lib。但是,这不是requireJS
所发生的情况<html>
<head>
<script data-main="/app" src="/require.js"></script>
</head>
<body>
<bar-foo/>
</body>
</html>
使用app.js
require.config({
paths: {
'customElement': '/customElement',
'barfoo': '/barfoo'
},
shim: {
barfoo: {
deps: [ 'customElement' ]
}
}
});
define(['barfoo'], function() {
....
}
例如,如果我只是直接在头部加载此脚本(没有requireJS),它可以正常工作。是否有require-config-option,因此我可以立即加载特定文件(同步?)?
答案 0 :(得分:1)
Requirejs因其异步电源而闻名。但是,当您需要某种由于依赖性而需要加载文件的顺序时,在require.config中有一个shim config:
shim:为旧的,传统的&#34;浏览器全局变量配置依赖项,导出和自定义初始化&#34;不使用define()来声明依赖项并设置模块值的脚本。
所以,让我们假设您有一个依赖于Underscore和jQuery的骨干应用程序,并且您希望它们按照该顺序加载,然后您的意愿:
require.config({
paths: {
'Backbone': '/Backbone',
'Underscore': '/Underscore',
'jQuery': '/jQuery'
},
shim: {
'Backbone': [ 'Underscore', 'jQuery' ]
}
});
require(['Backbone'], function(Backbone){
//.....
});
因此,RequireJS允许我们使用 shim 配置来定义需要按正确顺序加载的文件序列。