У меня есть дьявольское время, пытаясь заставить отладчик работать с моими файлами coffeescript при тестировании с помощью бегуна теста кармы.
Предположительно, все, что мне нужно сделать, это сказать наблюдателю за файлами Webstorm сгенерировать исходные карты, и отладчик будет работать с исполнителем тестов кармы. К сожалению, отладчик, похоже, не распознает вывод файла карты компилятором coffeescript. Он ищет file.coffee -> file.js.map. Однако, несмотря на попытки получить другой результат, файл карты всегда имеет вид file.coffee -> file.map.
мой файл конфигурации кармы имеет следующее (очевидно, не все, только соответствующие части):
module.exports = (config) ->
config.set
files: [
'../app/scripts/**/*.coffee'
'spec/*.coffee']
preprocessors: {
'../**/*.coffee': 'coffee'
}
Я пробовал все виды конфигураций с файловыми наблюдателями:
Наблюдатель за одним файлом с аргументами: "--compile --bare --map $FileName$" с выходными путями для обновления: "$FileNameWithoutExtension$.js.map" или "$FileNameWithoutExtension$.js:$FileNameWithoutExtension $.js.карта"
Первая версия создает пустой файл file.js.map, вторая создает пустой файл file.js.map И стандартный файл file.map, который является хорошим файлом исходной карты.
Я пробовал один файловый наблюдатель, у которого есть только "--compile --bare" Выходной путь: "$FileNameWithoutExtension$.js", а второй - только "--map" Выходной путь: "$FileNameWithoutExtension$.js.map ". Это выводит пустой файл file.js.map и никакой фактической карты.
Я пробовал один файловый наблюдатель, который просто имеет путь вывода "--compile --bare": "$FileNameWithoutExtension$.js", а второй - только путь вывода "--compile --map": "$FileNameWithoutExtension$. js.карта". Это выводит пустой файл file.js.map и никакой фактической карты.
Между тем, когда я запускаю тест в режиме отладки, сервер Karma сообщает:
WARN [web-server]: 404: /base/spec/schedule-spec.js.map?time=1380945586331
WARN [web-server]: 404: /absolute/Users/Randolph/Documents/Sites/MTF-Minimal/app/scripts/app.js.map?time=1380945586083
etc...
Ясно, что сервер предполагает, что карта будет называться file.js.map, тогда как на самом деле coffeescript выводит file.map без «js». Кажется, я не могу изменить то, как называется выходной файл исходной карты, и я не вижу, где указать отладчику, что искать.
В скобках отладчик также сообщает мне, что он не может найти файлы карт для библиотек, отличных от кофескриптов, загруженных моими файлами, такими как angular.js и jquery.js. Возможно, это ключ к тому, что не так.
Я отправил заявку в JetBrains и поделюсь здесь их ответом. Тем не менее, если кто-то знает решение, пожалуйста, дайте мне знать.
Спасибо!