0

すべてのブラウザをテストしたわけではありませんが、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']);
4

2 に答える 2

2

gulp-uglify2014 年 1 月 15 日の時点では、機能するソースマップが組み込まれていません。

これは、ソースマップを機能させるための現在のソリューションです。

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

于 2015-01-15T17:28:41.243 に答える
1

私の場合、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("."));

}

于 2019-04-23T08:23:45.617 に答える