9
나는 현재과 같이 require.js를 사용하여 작업
AMD 백본 모델이
:Node.js를하고 AMD (브라우저에 require.js)와 백본 모델을 사용하는 방법
// models/game.js
define(['backbone'],
function(Backbone) {
var Game = Backbone.Model.extend({
urlRoot : '/games/'
, defaults : {
name : null
}
});
return Game;
});
AMD/백본 조직을 this tutorial 및 jrburke's Pull Request for Backbone에서 제공됩니다.
Node.js에서 백본 모델을 사용하고 싶습니다. 이전에 AMD를 사용하지 않을 때 백본 모델 및 컬렉션 공유가 원활하게 작동했기 때문에, 나는 분명히 masochist입니다. 나는 CommonJS notes 보았다 동안
// collections/games.js
define(['backbone', 'models/game'],
function(Backbone, Game) {
var Games = Backbone.Collection.extend({
model: Game
, initialize: function() {
console.log(Game)
// Game is undefined
var game = new Game({ name: 'game1' });
}
});
return Games;
});
: 나는 브라우저에 포함 할 때
// models/game.js
(function(root, factory) {
if (typeof exports !== 'undefined') {
factory(root, exports, require('backbone'));
}
else if (typeof define === 'function' && define.amd) {
define(['backbone'], function(Backbone, exports) {
factory(root, exports, Backbone);
});
}
}(this, function(root, Game, Backbone) {
Game = Backbone.Model.extend({
urlRoot : '/games/'
, defaults : {
name : null
}
});
return Game;
}));
그러나 Game
지금 정의되지 않는다 :
보너스 : 각 파일의 상단에 ~ 10 줄보다 깨끗한 방법이 있습니까?define shim이 이상적입니다.