2013-07-08 10 views
3

Я начинаю новый веб-проект, и последняя часть моей конфигурации - включить отладку для файлов CoffeeScripts.Debug CoffeeScript с IntelliJ

Весь проект построен с использованием задачи Grunt, которая компилирует кофе в js и генерирует правильный файл карты, но я не могу сделать работу по отладке Coffeescript в IntelliJ.

Обратите внимание, что я не хочу использовать IntelliJ File Watchers.

Вот мой Gruntfile:

module.exports = (grunt) -> 
    grunt.initConfig 
    pkg: grunt.file.readJSON('package.json') 
    coffee: 
     options: 
     sourceMap: true 
     files: 
     expand: true 
     flatten: true 
     cwd: 'src/' 
     src: ['**/*.coffee'] 
     dest: 'src/' 
     ext: '.js' 
    concat: 
     option: 
     separator: ';' 
     dist: 
     src: ['src/**/*.js'] 
     dest: 'dist/<%= pkg.name%>.js' 
    uglify: 
     options: 
     banner: '/*! <%= pkg.name %> v<%= pkg.version%> by Pierre Degand <%= grunt.template.today("dd-mm-yyyy") %> */\n' 
     dist: 
     files: 
      'lib/<%= pkg.name%>.min.js': ['<%= concat.dist.dest %>'] 
    watch: 
     files: ['<%= coffee.files.src %>'] 
     tasks: ['coffee', 'concat', 'uglify'] 

    grunt.loadNpmTasks('grunt-contrib-concat') 
    grunt.loadNpmTasks('grunt-contrib-uglify') 
    grunt.loadNpmTasks('grunt-contrib-coffee') 
    grunt.loadNpmTasks('grunt-contrib-watch') 

    grunt.registerTask('default', ['coffee', 'concat', 'uglify']) 

Мой простой CoffeeScript файл (точка останова в строке 2 на IntelliJ):

name = 'Pierre' 
console.log "Hello #{name} !" 

Сформирован JS файл из Грунта:

(function() { 
    var name; 

    name = 'Pierre'; 

    console.log("Hello " + name + " !!"); 

}).call(this); 

/* 
//@ sourceMappingURL=app.js.map 
*/ 

Исходная карта

{ 
    "version": 3, 
    "file": "app.js", 
    "sourceRoot": "", 
    "sources": [ 
    "app.coffee" 
    ], 
    "names": [], 
    "mappings": "AAAA;CAAA,GAAA,EAAA;;CAAA,CAAA,CAAO,CAAP,IAAA;;CAAA,CACA,CAAA,CAAa,CAAb,EAAO,CAAM;CADb" 
} 

И, наконец, HTML я использую для тестирования

<!DOCTYPE html> 
<html> 
<head> 
    <title></title> 
</head> 
<body> 

<script type="text/javascript" src="src/app.js"></script> 
</body> 
</html> 

Когда я использовал наблюдателей файлов, в .js и .map.js были подтексты файла .coffee, можно добиться такого же поведения без использования Хранители файлов?

Если я щелкнул правой кнопкой мыши/«Debug index.html» в IntelliJ, я могу прочитать «Hello Pierre !!» в моей консоли IntelliJ debuger, но сценарий не прерывается на console.log()

У кого-то были такие же проблемы?

Спасибо!

ответ

1

Когда я использовал наблюдателей файлов, .js и .map.js были подфайлами файла .coffee, могу ли я достичь такого же поведения, не используя File Watchers?

Нет, вы не можете. Это функция просмотра файлов

Если я щелкнул правой кнопкой мыши/«Debug index.html» в IntelliJ, я могу прочитать «Hello Pierre !!» в моей консоли IntelliJ debuger, но сценарий не прерывается на console.log()

Это работает для меня, если я обновляю страницу в браузере после выполнения кода. Пожалуйста, проголосуйте за this ticket

Смежные вопросы