2014-06-30 61 views
0

我正在與RequireJs合作,我已經退出了新的行列。我有一個現有的項目和JavaScript代碼,現在我將該代碼更改爲要在RequireJS中使用的模塊。我的項目中使用了許多第三方API,如Bootstrap,JQuery & slickgrid等,這些是非AMD(異步模塊定義)。我知道非AMD Js文件需要加載填充命令,如在RequireJS工作的Shim命令

requirejs.config({ 
baseUrl: 'js/lib', 
paths: { 
    app: '../app' 
}, 
shim: { 
    backbone: { 
     deps: ['jquery', 'underscore'], 
     exports: 'Backbone' 
    }, 
    underscore: { 
     exports: '_' 
    } 
    } 
}); 

但我不知道墊片是如何工作和它的好處。我們不能簡單地像標籤一樣包含這些js文件嗎?任何人都可以請解釋我是如何工作的。另外我想用shim命令加載我的非AMD文件,我如何加載它們?我的js文件對彼此有依賴關係,所以我需要編寫命令

deps: ['file1', 'file2'] 

對於shim命令中的每個文件?這將是非常複雜的,因爲我有超過20個JS文件。有沒有更好的方法來做到這一點?請讓我知道我是否錯過了某些東西或者我錯了。我會非常感謝任何的支持。

回答

1

這是一個很常見的疑問,在你的情況下,你需要在路徑配置中使用Jquery,Underscore和Backbone來指定從哪裏需要加載JS文件。 然後在Shim塊中,您可以指定您的依賴關係以及您希望如何在應用程序中使用它(導出)。

要了解如何墊片的作品,我建議你閱讀這篇文章 - http://aaronhardy.com/javascript/javascript-architecture-requirejs-dependency-management/

還是需要JS網站。

http://requirejs.org/docs/api.html#config-shim

希望它能幫助。