Подтвердить что ты не робот

Как я могу включить исходную карту для coffeescript?

Недавно я обнаружил существование исходных карт в chrome через исходную отладку на языке haxe. Он позволяет отлаживать сгенерированный javascript внутри браузера Chrome, видя причину ошибки в исходном исходном коде.

Кто-нибудь написал генератор исходной карты для coffeescript/Может ли отображаться источник coffeescript?

Это поможет отладить javascript, сгенерированный coffeescript.

4b9b3361

Ответ 1

Это уже давно стало проблемой в проекте CoffeeScript (действительно, оно предшествует стандарту исходной карты). Однако пока нет (полного) генератора исходных кодов CoffeeScript. Для обсуждения см. https://github.com/jashkenas/coffee-script/issues/558

Поддержка исходных карт также является одной из целей компилятора "CoffeeScript Redux", который недавно был профинансирован на Kickstarter (см. http://www.kickstarter.com/projects/michaelficarra/make-a-better-coffeescript-compiler). Этот проект только начался; вы можете посмотреть его на https://github.com/michaelficarra/CoffeeScriptRedux

Ответ 2

Coffeescript 1.6 имеет встроенную поддержку исходных карт.

Используйте параметр "--map" или "-m", чтобы включить его. Или, если вы используете компилятор npm, вам нужно добавить параметр sourceMap: true.

Ответ 3

npm install -g coffee-script

Должен установить coffee- script в качестве глобального модуля. Проверьте версию > 1.6, набрав

coffee -v

Если вам нужна помощь, которую вы можете использовать. Используйте его, чтобы увидеть значение параметров, используемых ниже.

coffee -h

Для регулярной компиляции используйте

coffee -mo script/ -cw src/

Это должно автоматически создавать файлы карт. Я оставляю это в терминале, как я код, он компилируется каждый раз, когда я сохраняю.

ИЗВЕСТНЫЙ БУГ:

В текущем компиляторе coffee- script, похоже, не обрабатываются разные директории /src и/script. В файле карты вы обнаружите, что sources = {filename}, а не {относительный путь к файлу}.

РЕШЕНИЕ:

  • Сохраните файлы .coffee в том же каталоге, что и .js
  • Измените директиву источника вручную в файле .map. Это будет перезаписано снова при следующем сохранении.

Ответ 4

Ps, если вы на vim, используйте:

au BufWritePost *.coffee silent make -m

который компилируется с исходной картой при сохранении файла. Я нашел его чрезвычайно удобным, когда я хочу, чтобы какой-то случайный буфер начал компилировать кофе для меня.