Gulp - 源图在Chrome中没有加载源

时间:2015-01-14 20:08:07

标签: gulp source-maps gulp-uglify

我还没有对所有浏览进行过测试,但我经常使用Chrome。

使用Grunt我对uglify没有任何问题,并且生成了地图文件。在Chrome中,在开发人员工具中,加载了min.js和原始.js。

我试图学习Gulp,经过几个小时的尝试后,我无法将地图文件链接到原始.js以匹配.min.js。

这是我的gulpfile.js。我做错了什么?

var gulp = require('gulp')
    , uglify = require('gulp-uglify')
    , rename = require('gulp-rename')
    , sourcemaps = require('gulp-sourcemaps');

// default means this task will run whenever you type “gulp” at the command line without any parameters.
gulp.task('uglify:apps', function () {

    gulp.src(['core/apps/**/*.js', '!/**/*.min.js'])
        .pipe(sourcemaps.init())
        .pipe(uglify())
        .pipe(rename({ extname: ".min.js" }))
        .pipe(sourcemaps.write("."))
        .pipe(gulp.dest('core/apps/'))
    ;

});


gulp.task('default', ['uglify:apps']);

2 个答案:

答案 0 :(得分:2)

自2014年1月15日起,

gulp-uglify内置了无法使用的源代码。

这是使源图工作的当前解决方案:

npm install gulp-uglify@https://github.com/floridoo/gulp-uglify/tarball/sourcemap_fix --save-dev

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


gulp.task('ug', function(){
  gulp.src('./test.js')
    .pipe(sourcemaps.init())
    .pipe(uglify())
    .pipe(sourcemaps.write())
    .pipe(gulp.dest('./out'));
});

gulp.task('default', ['ug']);

示例回购:https://github.com/stevelacy/gulp-test-sourcemaps

答案 1 :(得分:0)

在我的罐子中,我将gulp-uglify和gulp-sourcemaps更新为: “ gulp-sourcemaps”:“ 2.6.5”, “ gulp-uglify”:“ 3.0.2”,

我改变了一些缩小功能 来自:

.pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: '../' }))

至:

.pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: '.' }))

出于某种原因,当sourceRoot: '../'我无法在浏览器中看到源代码(但调试器;并且断点正在停止执行程序,我只是没有看到代码)

我现在的整个代码

function minifyJs(src, dest) {
var minifyPaths = [src];
return gulp.src(minifyPaths)
.pipe(domSrc.duplex({ selector: 'script[data-concat!="false"]', attribute: 'src', cwd: '../' })) //dont pay attantion here
.pipe(sourcemaps.init())
.pipe(babel({
    presets: ["es2015-script"],
    compact: false
}))
.pipe(concat(dest))
.pipe(gulp.dest("."))
.pipe(uglify({
    compress: {
        unused: false
    }
}))
.pipe(rename({ extname: '.min.js' }))
.pipe(sourcemaps.write('.', { includeContent: false, sourceRoot: '.' }))
.pipe(gulp.dest("."));

}