#coffeescript #source-maps #brunch
#coffeescript #исходные карты #поздний завтрак
Вопрос:
Я создаю проект coffee-script с brunch@1.7.14 и coffee-script-brunch@1.8 , со всеми настройками по умолчанию.
Затем я запускаю проект и получаю ошибку где-то в глубине.
И когда я смотрю на stacktrace, я вижу что-то вроде этого:
module.exports.View.render jquery.idle-timer.js:24
module.exports.View.afterInitialize jquery.center.js:51
instance.(anonymous function) jquery.center.js:7
Backbone.View jquery-ui.js:1878
View jquery.center.js:23
Что это за безумие?
Ожидается, что ссылки справа указывают на что-то вроде app/some/path/view.coffee, а не на плагины jquery (которые даже не использовались в данном конкретном случае).
Как это исправить?
Upd.
Это происходит в Chrome и Safari. Я уже перепробовал все coffee-script
версии, начиная с 1.3.3
, и coffee-script-brunch
начиная с 1.4.0
. Все, что у меня есть, это немного разные номера строк в stacktrace, но они все равно неверны.
Что еще более интересно, в тестовом проекте с тремя модулями все работает идеально — stacktrace указывает именно на строку, которая выдает ошибку. В большом проекте все неправильно. Я не понимаю, как это может быть.
Upd.2
Ну, я обнаружил, что исходные карты скомпилированы неправильно.
Когда я создаю тот же проект с той же версией всех пакетов на другом компьютере, а затем просто помещаю скомпилированные там исходные карты на свой компьютер — все работает идеально.
Как я заметил выше, я уже пытался переустановить все пакеты, которые могут быть задействованы здесь. Я даже пытался переустановить Node.js , простым способом — brew uninstall node
, brew install node
. Это не помогло.
Итак, что еще можно обновить / переустановить / очистить / и т.д., Чтобы устранить эту проблему?
Upd.3
Хорошо… Кажется, это своего рода волшебство. Я создал чистую виртуальную машину с Ubuntu, клонировал проект и создал его. В абсолютно чистой среде.
С теми же результатами.
Я не знаю, что, черт возьми, происходит, теперь я полагаю, что даже если я переустановлю ОС, это не поможет. Возможно, покупка нового компьютера может решить проблему, я не знаю…
Ответ №1:
Неожиданно, но я нашел ответ.
Единственная причина была в пакете source-map, который находится в brunch
зависимостях.
Я пробовал только две последние версии brunch: 1.7.13 и 1.7.14. Для обеих требуется source-map
версия ~0.1.26
. На данный момент это разрешено 0.1.34
везде, где вы устанавливаете бранч.
И это корень зла.
На самом деле я вручную заменил 0.1.34 на 0.1.33 непосредственно в глобальной brunch/node_modules
папке.
И это все. После этого все волшебным образом исправлено, и мои исходные карты снова указывают на правильные строки.
Не знаю, ПОЧЕМУ это так — может быть, source-map@0.1.34
сломан. Но это действительно работает.