在具有子文件夹的 chrome 开发工具中找不到 Grunt Babel 源映射

Grunt Babel sourcemaps not found in chrome dev-tools with sub folder

我一直在使用 grunt-babel 插件试验 babel。这是我当前的配置。

    babel: {
        options: {
            sourceMap: true,
            presets: ['es2015']
        },
        dist: {
            files: {
                'dist/assets/js/sql-query-builder.js': 'assets/js/sql-query-builder.js',
            }
        }
    }

这是我的目录结构,其中 dist 文件夹包含生成的文件,这些文件通过 grunt connect 在我的本地主机上提供。

- assets
   - js
     - files.js
- dist
  - assets
   - js
     - files.js

在浏览器中使用 console.log 调试代码时,由于未获取源映射,行号不正确。为了解决这个问题,我像这样将网络文件映射到本地资源。

我的第一个问题是我应该映射到 /dist 生成的文件还是 /assets 中的原始文件?

选择 /DIST和DEV工具重新加载时,我会得到以下错误。

Source map http://localhost:9001/assets/js/sql-query-builder.js.map points to the files missing from the workspace: [http://localhost:9001/assets/js/sql-query-builder.js]

这是否意味着我需要更新以下 babel 选项变量之一以适应 dist 文件?

sourceMapTarget
sourceFileName
sourceRoot

我刚开始使用 sourcemaps 和 babel,所以我假设我在某个地方犯了新手错误。我想开始更多地探索 ES2015,但没有源映射调试是一个令人头疼的问题。

我已经阅读了有关 webpack、browserify 和 gulp 的内容,所以从长远来看,我会将构建步骤移至这些工具之一,但在短期内,我想解决我当前设置的问题。

问题是 grunt-connect 任务将 /dist 作为 / 服务。当我将 grunt 任务更改为 serve / as / 时,sourcemaps 找到了原始源文件。我认为我谈到的工作区映射只是混淆了这个问题。