У меня есть проект 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.$
на неопределенный, либо использует другой экземпляр Backbone, хотя это, похоже, не так.
Зависит ли Чаплин от магистрали? Возможно, у вас есть две Backbone libs в пакете - одна из ваших депок и одна из детектив Чаплина. Попробуйте выполнить 'npm dedupe' перед запуском браузера, который будет дедуплировать пакеты в графике зависимостей и в итоге будет иметь одну Backbone lib. – andreypopp
Да, Чаплин зависит от магистрали. 'npm dedupe' не работал, но вы были на правильном пути, использовалась версия Backbone в пакете Chaplin, поэтому вручную удаляли эту трюк. – evilcelery
, если 'npm dedupe' не работает для вас, то и Chaplin, и вы зависите от разных версий Backbone, иначе' npm dedupe' удалит одну из Backbone. – andreypopp