簡體   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