繁体   English   中英

AMD(require.js)如何在一个非amd js文件中处理多个类?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM