0

大家好,我正在使用 gulp uglify 和 concat 来缩小 js 代码。

但是,我想有一种方法来检测原始 dev js 代码中的任何编码错误,以便我可以检查原始代码,而不仅仅是在缩小后通知。

我可以知道我该怎么做吗?

下面是我的 gulp 代码。

gulp.task('frontend.js', function() {  
  return gulp.src([paths.dev.js + 'jquery.js', paths.dev.js + 'bootstrap.js', paths.dev.js + 'basic.js'])
    .pipe(jsconcat('script.js'))
    .pipe(uglify())
    .pipe(gulp.dest(paths.assets.js))  // output: script.js
    .pipe( notify({message: 'frontend.js converted'}));   
});
4

2 回答 2

2

这就是源地图的用途。

var sourcemaps = require('gulp-sourcemaps');

gulp.task('frontend.js', function() {  
  return gulp.src([paths.dev.js + 'jquery.js', paths.dev.js + 'bootstrap.js', paths.dev.js + 'basic.js'])
    .pipe(jsconcat('script.js'))
    .pipe(sourcemaps.init())
    .pipe(uglify())
    .pipe(sourcemaps.write())
    .pipe(gulp.dest(paths.assets.js))  // output: script.js
    .pipe( notify({message: 'frontend.js converted'}));   
});

它将源映射(即将每个缩小的行映射到原始行)附加到frontend.js.

现在,如果您使用的是现代浏览器,例如 Chrome 或 Firefox,您将看到原始代码。

于 2014-10-31T10:25:13.987 回答
0

您的意思是希望在连接和缩小源文件之前收到有关 javascript 错误的通知,或者您想要一种能够将缩小文件上的运行时错误与包含违规代码的原始源文件相匹配的方法?

在后一种情况下,如果完美,则可以回答,否则您应该在 jsconcat 之前使用管道调用gulp -jshint,可能使用jshint-stylish作为 jshint 报告器。

于 2014-10-31T10:59:14.180 回答