调试变量不适用于gulp sourcemaps + uglify

时间:2015-11-25 10:09:52

标签: javascript gulp google-chrome-devtools gulp-uglify gulp-sourcemaps

我有以下gulp任务用于捆绑javascript:

sum(tag not in ('amaretto','blueberry ')) = 0

当我在Chrome开发工具中运行时,会找到源图并且断点有效,但变量无法调试

以角度代码为例:

gulp.task('js', function () {
    return gulp.src(paths.js)
        .pipe(sourcemaps.init())
        .pipe(uglify())
        .pipe(concat('bundle.min.js'))
        .pipe(sourcemaps.write('./'))
        .pipe(gulp.dest('dist'));
});

如果我添加一个断点来查看iarApp.config(['$animateProvider', function ($animateProvider) { $animateProvider.classNameFilter(/angular-animate/); }]); 的值,我会得到以下内容:

enter image description here

但如果我在Uglify中关闭变量修改:

$animateProvider

然后它起作用:

enter image description here

因此,在Uglify破坏名称之后,似乎gulp-sourcemaps插件无法跟进变量。

其他人可以得到同样的问题和/或知道解决方案吗?

1 个答案:

答案 0 :(得分:3)

事实证明,目前这是不可能的,因为这不是源地图规范的一部分。

此功能有process substitution someproposals,因此我们必须等到规范和实施更新。