5

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

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'));
});

当我在 Chrome 开发工具中运行它时,会找到源映射并且断点工作,但变量 can't be debugged 。

以这个角度代码块为例:

iarApp.config(['$animateProvider', function ($animateProvider) {
    $animateProvider.classNameFilter(/angular-animate/);
}]);

如果我添加一个断点来查看 的值$animateProvider,我会得到以下信息:

在此处输入图像描述

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

.pipe(uglify({ mangle: false }))

然后它工作:

在此处输入图像描述

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

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

4

1 回答 1

3

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

一些 建议可以添加此功能,因此我们将不得不等到规范和实现更新。

于 2016-01-19T09:00:28.817 回答