Angularjs 使用带有角度(IIFE模式)的gulp源地图。我是否正确理解源地图?

Angularjs 使用带有角度(IIFE模式)的gulp源地图。我是否正确理解源地图?,angularjs,gulp,source-maps,Angularjs,Gulp,Source Maps,首先,这将是我第一次尝试通过gulp构建导出源地图。我使用的是angular 1.4.x,我们采用了以下模式: (function() { 'use strict'; var thing = (function() { function thingFunc(thingToInject) {...} thingFunc.$inject = ['thingToInject']; return thingFunc; })();

首先,这将是我第一次尝试通过gulp构建导出源地图。我使用的是angular 1.4.x,我们采用了以下模式:

(function() {
'use strict';

    var thing = (function() { 
        function thingFunc(thingToInject) {...}

        thingFunc.$inject = ['thingToInject'];
        return thingFunc;
    })();

    angular.module('app').controller('thing', thing);
})();
当我大口喝的时候,我用

gulp.task ('thingTask', [], function() {
    return gulp.src(thingFiles)
        .pipe(sourcemaps.init())
        .pipe(concat(things.Out, { newLine: '\n\n' }))
        .pipe(sourcemaps.write())
        .pipe(gulp.dest(things.Dist));
});
输出结果与预期的一样…一组文件按顺序排列,每个文件之间有2个换行符,整个文件以一长串注释文本的sourceMap blob结束

我不明白的是这段文字对我有什么作用。我在每个文件周围包含的IIFE包装是否对映射文件的工作方式施加了某种限制?当我在Chrome中调试时,使用这个源代码映射并没有什么好处。无论我在哪里强制中断,都无法帮助开发人员找到存在问题的实际源文件


我遗漏了什么?

您需要告诉sourcemaps在哪里编写。对于sourcemap行,请尝试以下操作:

.pipe(sourcemaps.write('.'));
这将把sourcemap放在与css相同的文件中


然后确保已将sourcemaps配置为在浏览器中工作。更多关于这方面的信息可以在这里找到:

fair…我已经将源映射写入了一个外部文件…但是它写入的字符串与它写入分布式js文件底部的字符串是相同的…我用两种方法都做了,但都没有真正帮助我了解sourcemap如何在chrome中启用sourcemaps?如果是这样的话,我会尝试其他浏览器,比如firefox之类的。这样,您至少可以确定这是您的浏览器设置还是构建设置的问题,因为除了脚本的
concat
部分中出现的那种有趣之外,一切看起来都应该正常工作。你也可以省略
[]
,因为它什么都不做。谢谢,我会检查一下……不过现在有点不太注意……我会很快给你回复我在那里学到的东西