合併非 AMD 庫

並非所有庫都以與 AMD 和 RequireJS 的 define() 功能相容的方式定義。作者已經通過包含用於配置這些依賴項的 shim 指令來解決這個問題。

一個例子是使用 jQuery UI Layout Plugin。該外掛依賴於 jQuery。你可以像這樣配置它:

requirejs.config({
    paths: {
        'jquery': '../path/to/jquery.min',
        'jquery.layout': '../path/to/jquery.layout.min'
    },
    shim: {
        'jquery.layout': {
            deps: ['jquery']
        }
    }
});

然後在這樣的佈局模組中使用它:

define(['jquery', 'jquery.layout'], function ($, layout) {
    $('body').layout();
});