加载了CoffeeScript源地图,但未由Chrome获取源

我试图让我的CoffeeScript在Chrome中使用源地图。 我可以看到coffee正在生成源映射,事实上Chrome的开发工具显示源映射文件是从本地HTTP服务器成功获取的。

然而,即使我能够在浏览器中手动GET它, .coffee文件本身也不会被获取。

我怀疑这可能与目录结构有关。 我为其提供HTTP的目录(使用简单的python服务器)如​​下所示:

./
  index.html ("includes" 'lib/coffeedrag.js)
  src/
    coffeedrag.coffee
  lib/
    coffeedrag.js
    coffeedrag.map

因此,当我在浏览器中打开index.html时,会正确提取.js.map文件。 .map文件如下所示:

{
  "version": 3,
  "file": "coffeedrag.js",
  "sourceRoot": "..",
  "sources": [
    "src/coffeedrag.coffee"
  ],
  "names": [],
  "mappings": "[ trimmed for brevity ... ]"
}

什么可以阻止Chrome获取coffeedrag.coffee


Chrome从文件中的一个小评论加载JS文件的源映射文件,如下所示:

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

通常,除非您指定--bare标志,否则--bare从CoffeeScript编译器中除去:http://coffeescript.org/#usage

例如在我的Gruntfile.coffee我有:

module.exports = (grunt) ->
  grunt.initConfig
    coffee:
      dev:
        expand: true
        cwd: 'assets/js/'
        dest: '<%= coffee.dev.cwd %>'
        ext: '.js'
        src: [
          '*.coffee'
          '**/*.coffee'
        ]
        options:
          bare: true
          sourceMap: true

然后打开CoffeeScript文件到Chrome:

Chrome的屏幕截图

如果我在代码中添加一个debugger ,则可以得到:

在这里输入图像描述

链接地址: http://www.djcxy.com/p/66987.html

上一篇: CoffeeScript source maps loaded but sources not fetched by Chrome

下一篇: Will the source mapping in Google Chrome push to Error.stack