[英]How does AMD (require.js) handle multiple classes in a single non-amd js file?
我正在使用MootoolsMore库中的一堆组件,这些组件都被编译成一个.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
不需要仅用于RequireJS的“填充”功能。 您可以只使用标准的AMD loader 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']
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.