我正在使用a bunch of components from the MootoolsMore library,它们都被编译成一个.js文件。有没有办法在垫片中定义一次库并且可以访问其中的所有类?以下不起作用,但我怎么做这样的事情?
shim:{
mootoolsMore:{
deps : ["mootools"]
exports : ["Slider", "Sortables"]
}
}
// then inside my module I could access the Slider component like so
define( function(require) {
var Slider = require('mootoolsMore').Slider
答案 0 :(得分:1)
不需要仅针对RequireJS的“填充”功能。您可以使用标准的AMD加载器API:
require(['js!path/to/MooToolsCore.js'], function(){
// nesting in order to insure that Moo Core runs first
require(['js!path/to/MooToolsMore.js'], function(){
// Your Slider and Sortables will be in global.
// just use them.
window.Slider(/* ... */)
})
})
注意,RequireJS不需要“js!”插件要显式声明,但是,只需查看文件的扩展名。如果它是“.js”,它通过“js”插件运行文件。这是非标准行为(如在AMD规范中没有),但在RequireJS上你应该能够替换如下行:
['js!path/to/MooToolsMore.js']
用这个:
['path/to/MooToolsMore.js']