javascript - Coffeescript源映射不引用原始文件,而是引用一个新的串联文件

标签 javascript coffeescript gruntjs source-maps grunt-contrib-coffee

我正在使用grunt-contrib-coffee编译以下内容:

  • 源代码
    • 咖啡
      • test1.coffee
      • test2.coffee
      • test3.coffee

进入:

  • 距离
    • js
      • concated.js
      • concated.js.map

这可行,但问题是在 dist/js 中生成了第三个文件,名为“concated.src.coffee”,这是 concated.js.map 引用的文件。这对我来说没有用,当我在浏览器中调试时,我希望源映射引用原始文件,而不是连接的咖啡文件。

我的咕噜咖啡配置:

module.exports =

compileWithMaps:
  options:
     sourceMap: true
  files: 'dist/js/concated.js': 'src/coffee/*.coffee’

关于如何使源映射引用原始文件而不是生成的连接咖啡文件有什么想法吗?

最佳答案

找到了让它发挥作用的方法!

而不是让grunt-contrib-coffee连接所有 .coffee 文件,我改为更改任务配置以单独编译所有文件并将它们全部放在一个文件夹中,如下所示:

glob_to_multiple:
    options:
        sourceMap: true
    expand: true
    flatten: true
    cwd: 'src/'
    src: ['**/*.coffee']
    dest: 'dist/compile-coffee'
    ext: '.js’

为了连接文件和相关的源映射,我使用了 grunt-concat-with-sourcemaps并像这样配置任务:

your_target:
    options:
        sourceRoot: '../../'
    files: 'dist/concat-js/concat.js': [ 'dist/compile-coffee/*.js’ ]

关于javascript - Coffeescript源映射不引用原始文件,而是引用一个新的串联文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40982965/

相关文章:

dom - 使用 coffeescript 删除一个 div 元素

javascript - 在 Sails.js 中使用 GruntFile 根据当前 Controller 加载 JS 文件

javascript - Usemin 不删除 block 语句

javascript - Angularjs - 将 $scope 传递给 Controller

javascript - 在 EaselJS 中更改形状的移动点

javascript - 谷歌地图中的标记图像取决于列值

sass - 使用 grunt/steroids 构建 Ionic SASS

javascript - 如何设置位于PC上的图像文件

javascript - 在Coffeescript中抽象出两行代码

node.js - 如何为 hubot 设置 node_path