1

私は RequireJS を使用していますが、プロジェクトがかなり大きくなりました。

requirejs([
    'util/utils',
    'util/image_store',
    'models/user_model',
    'util/analytics'
    ],function() { /* do start here */ });

最初のグループを取得し、これらのファイルを連結したので、次のようにします。

さて、他のファイルに、すでに定義が必要なモデル/ユーザーモデルをダウンロードする必要がないことを伝えるにはどうすればよいですか?

架空の UserView.js では次のようになります。

define(['models/user_model'],function(UserModel) {
   function UserView() { /* */ }
});
4

2 に答える 2

1

ファイルを連結するとき、各ファイルの内容を名前付きdefine呼び出しにラップする必要がありました。このようにロードすると、モジュールは個々のファイルからロードされたかのように復活します。

;(function() {

    define('util/utils',function(){
        return utilsObject
    })

    define('util/image_store',function(){
        return imageStoreObject
    })

    define('models/user_model',function(){
        return userModelObject
    })

    define('util/analytics',function(){
        return analyticsObject
    })

    // you need this to make this an AMD module.
    // it does not matter what it returns, as your
    // main payload is above.
    define(function(){})

})();
于 2013-01-25T04:04:29.897 に答える
0

Require.js オプティマイザーを使用してこれを行うことができると思います: http://requirejs.org/docs/optimization.html

于 2013-01-25T01:27:23.450 に答える