Skip to content

1.x update dependencies

HIRAKI Satoru edited this page Mar 13, 2014 · 3 revisions

zepto.js v1.1.3 / require.js v2.1.11 / backbone.js v1.1.2 への対応についての注意点

背景

backbone.jsがv1.1.1よりAMD対応をしていますが、その余波によりzepto.js + require.js + backbone.jsの組み合わせで従来と同じ設定では動作しなくなってしまいます。

beezは基本としては新しいバージョンのライブラリには追随していく方針ですが、上記の理由により現状は最新版を同梱していませんでした。

対応方法

beezのプロジェクトで上記の最新バージョンのライブラリを使いたいという場合は次の対応をすると動作することを確認しています。

require.jsのconfigに設定を追加する

beezでは具体的に以下のファイルに設定を追加します。

  • build.local.js
  • conf/local/develop.json | .js
  • conf/local/release.json | .js

追加するコードは以下です。

"map": {
    "backbone": {
        "jquery": "zepto"
    }
},
"wrapShim": true,

例えば、beez-project -b simpleで作成したconf/local/develop.jsonだとこのような感じになります。

"requirejs": {
    "baseUrl": "/local",
    "paths": {
        "underscore": "vendor/underscore",
        "zepto"     : "vendor/zepto",
        "backbone"  : "vendor/backbone",
        "handlebars": "vendor/handlebars.runtime",
        "beez"      : "vendor/beez"
    },
    "shim": {
        "backbone": {
            "deps": ["underscore", "zepto"],
            "exports": "Backbone"
        },
        "zepto": {
            "exports": "$"
        },
        "underscore": {
            "exports": "_"
        },
        "handlebars": {
            "exports": "Handlebars"
        }
    },
    "map": {
        "backbone": {
            "jquery": "zepto"
        }
    },
    "wrapShim": true,
    "config": {
        // configuration information used by beez
        "beez.core": {
            "url": {
                //"app":"/", // application server url
                "api":"/", // api server url
                "base":"/local", // require.js#data-main url
                //"stat":"/local",// static file server url (css|image|...)
                "vendor":"/local/vendor" // require.js or library url
            },
            "defines": { // beez in the definition.
                "globals": { // set the global scope.
                    "DEBUG": false
                }
            },
            "logging": {
                "level": "DEBUG",
                "separator": " "
            },
            // backbone#router
            "router": {
                "*default": {
                    "route": "*default",
                    "name": "index",
                    "require": "index/index",
                    "xpath": "/@/index"
                }
            }
        }
    }
}

beezでのこれからの対応について

もう少し変更がBackbone.js側などに入りそうにも見えるので(実際1週間ほどで新しいバージョンが出てたりする)ので、beez側でのライブラリのアップデートはもうしばらく様子を見ようと考えています。

2014/03/13現在

参考URL

Clone this wiki locally