webstorm 7 /人缘服务器找错sourcemap文件调试时的CoffeeScript(web

2019-10-18 17:36发布

我有一个时间试图让调试器与因果报应测试运行测试时我的CoffeeScript文件的工作是魔鬼。

据称,所有我需要做的是告诉Webstorm文件观察者产生sourcemaps和调试器将与业力测试运行工作。 不幸的是,调试器似乎并不被CoffeeScript的编译器来识别地图文件输出。 它看起来对file.coffee - > file.js.map。 然而,尽管试图得到一些其他的结果映射文件总是file.coffee - > file.map

我的人缘配置文件具有以下(显然不是整个事情,只是相关部分):

module.exports = (config) ->
  config.set
    files: [
      '../app/scripts/**/*.coffee'
      'spec/*.coffee']
    preprocessors: {
      '../**/*.coffee': 'coffee'
    }

我已经尝试了各种与文件观察家配置:

单个文件守望者的论据:“ - 编译--bare --map $文件名$”与输出路径刷新为两种:“$ FileNameWithoutExtension $ .js.map”或“$ FileNameWithoutExtension $ .js文件:$ FileNameWithoutExtension $ .js.map”

第一版本产生空白file.js.map,第二产生空白file.js.map和标准file.map这是一个很好sourcemap文件。

我试过,只是有“--compile --bare”输出路径一个文件守望者:“$ FileNameWithoutExtension $ .js文件”和第二,仅仅有“--map”输出路径:“$ FileNameWithoutExtension $ .js.map ”。 输出空白file.js.map并没有实际的地图。

我试过,只是有“--compile --bare”输出路径一个文件守望者:“$ FileNameWithoutExtension $ .js文件”和第二,仅仅有“--compile --map”输出路径:“$ FileNameWithoutExtension $。 js.map”。 输出空白file.js.map并没有实际的地图。

同时,当我在调试模式下运行测试噶Server报告:

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”。 我似乎无法改变什么输出sourcemap文件叫我看不出告诉调试器寻找什么。

顺便,调试器还告诉我,它无法找到装有我的文件,如angular.js和jquery.js和非CoffeeScript的库映射文件。 也许这是一个线索,什么是错的。

我已提交了一张票,JetBrains公司,并分享他们这里也作出回应。 但是,如果有人知道的解决方案,请让我知道。

谢谢!

Answer 1:

使调试器中使用的.js和.MAP按文件观察家生成的文件的唯一方法是在你的业障的配置文件,而不是.coffee文件加载这些生成的.js文件。 当你加载.coffee文件,而不是,业力实际上是服务不是由transpiler生成的文件,但通过.js文件预处理咖啡生成的文件,而这些文件没有生成的源代码对应,因此,调试器不知道如何将它们映射到你的咖啡文件。 你有两个选择在这里:

  • 通过加载文件的守望者,而不是在你的业障的配置,像原来.coffee文件生成的.js文件:

(片段)

files: [
'../app/scripts/**/*.js'
'spec/*.js'
]
  • 因果报应配置coffeePreprocessor使用源地图,如:

(片段)

files: [
'../app/scripts/**/*.coffee'
'spec/*.cofee'
],
preprocessors: {
            '**/*.coffee': ['coffee']
        },
coffeePreprocessor: {
            options: {
                bare: true,
                sourceMap: true
            },
            // transforming the filenames
            transformPath: function ( path ) {
                return path.replace( /\.js$/, '.coffee' );
            }
        },
...

为了能够使用,你需要确保使用最新的业力和果报咖啡预处理器的版本的第二个选项



文章来源: webstorm 7/karma server looking for wrong sourcemap file when debugging coffeescript