У меня есть проект Chaplin/Backbone, который я переключаю с RequireJS на CommonJS (с Browserify).
Когда я пытаюсь загрузить приложение в браузере, я получаю Uncaught TypeError: Expecting a function in instanceof check, but got body
. Кажется, это потому, что Backbone.$
не определено.
Я уже делаю следующее, прежде чем требовать свое приложение и/или любые файлы Чаплина:
var jQuery = require('jquery'),
Backbone = require('backbone');
Backbone.$ = jQuery;
Так что это должно загружать jQuery, и если я проверю Backbone.$, он там. Однако Чаплин, похоже, либо сбрасывает Backbone.$
в значение undefined, либо использует другой экземпляр Backbone, хотя, похоже, это не так.
npm dedupe
перед запуском browserify, это приведет к дедупликации пакетов в графе зависимостей и в итоге будет одна библиотека Backbone. - person andreypopp   schedule 20.01.2014npm dedupe
не сработало, однако вы были на правильном пути, использовалась версия Backbone в пакете Chaplin, поэтому удаление вручную помогло. - person evilcelery   schedule 22.01.2014npm dedupe
не работает для вас, то и Чаплин, и вы зависите от разных версий Backbone, иначеnpm dedupe
удалит одну из Backbone. - person andreypopp   schedule 22.01.2014