У меня проблемы с браузером.
Цель
Я пытаюсь создать базовое одностраничное приложение TodoMVC с Backbone, только вместо кучи тегов <script> в моем index.html, я пытаюсь связать их все с помощью браузера.
Вот что я до сих пор.
Lib/модели/todo.js
var backbone = require("backbone");
var Todo = module.exports = backbone.Model.extend({
  defaults: function() {
    return {
      title: "",
      completed: false,
      createdAt: Date.now(),
    };
  },
});
Lib/коллекции/todo.js
var backbone     = require("backbone"),
    LocalStorage = require("backbone.localstorage");
var TodoCollection = module.exports = backbone.Collection.extend({
  localStorage: new LocalStorage('todomvc'),
});
Библиотека /app.js
var Todo            = require("./models/todo"),
    TodoCollection  = require("./collections/todo");
(function(global) {
  global.todoCollection = new TodoCollection([], {model: Todo});
})(window);
Чтобы построить мой пакет, я использую
browserify lib/app.js > js/app.js
Наконец, мой index.html довольно прост
<!doctype html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>Todo MVC</title>
  </head>
  <body>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
    <script src="/js/app.js"></script>
  </body>
</html>
Проблема
Когда я открываю консоль и пытаюсь запустить эту команду
todoCollection.create({title: "My first todo"});
Я получаю сообщение об ошибке
"Невозможно прочитать свойство" Отложено "undefined"
StackTrace
TypeError: Cannot read property 'Deferred' of undefined
    at Backbone.LocalStorage.sync.window.Store.sync.Backbone.localSync (http://localhost:4000/js/app.js:182:47)
    at Backbone.sync (http://localhost:4000/js/app.js:255:40)
    at _.extend.sync (http://localhost:4000/js/app.js:1773:28)
    at _.extend.save (http://localhost:4000/js/app.js:1979:18)
    at _.extend.create (http://localhost:4000/js/app.js:2370:13)
    at <anonymous>:2:16
    at Object.InjectedScript._evaluateOn (<anonymous>:580:39)
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:539:52)
    at Object.InjectedScript.evaluate (<anonymous>:458:21)
Вопрос
Я немного поработал над тем, как прокручивать базовые приложения, но я мало что нашел в отношении вещей, которые соответствуют моей цели.
Как я могу связать одностраничное базовое приложение с одним app.js, которое может потребоваться в html?
В качестве стороннего
Я не уверен, правильно ли включаю jQuery. Является ли Backbone проблем с подключением себя к jQuery, если он также не является частью моего браузера?
Приветствуются любые советы.
