gpt4 book ai didi

gulp - 如何获取 gulp+babel+browserify+uglify 的源映射

转载 作者:行者123 更新时间:2023-12-02 12:38:03 25 4
gpt4 key购买 nike

我正在使用 gulp 将 browserify+babelify 与 uglifyjs 捆绑在一起。氧但是,从我的项目生成的源映射仅提供捆绑版本,而不是捆绑版本。

这是我的设置:

var gulp       = require('gulp'),
source = require('vinyl-source-stream'),
browserify = require('browserify'),
gutil = require('gulp-util'),
buffer = require('vinyl-buffer'),
sourcemaps = require('gulp-sourcemaps'),
uglify = require('gulp-uglify'),
file = 'index.js';

gulp.task('build', function(){
return browserify({
entries: [file],
transform: ["babelify"]
})
.bundle()
.pipe(source(file))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(uglify())
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./public/js'))
.pipe(gutil.noop())
})

有没有办法让我创建一个捆绑 babel=>browserify=>uglify 的构建,并且仍然将 map 返回到我的 pre-babel 文件?

我也不介意不使用 gulp(实际上我更喜欢 grunt,但这个设置过去对我有用)。

最佳答案

首先,您需要通过将 debug 选项设置为 true 来设置 browserify 来生成源映射,然后如果您想要预 babelify 源映射,则需要配置 babelify 来生成源映射:

   var gulp       = require('gulp'),
source = require('vinyl-source-stream'),
browserify = require('browserify'),
gutil = require('gulp-util'),
buffer = require('vinyl-buffer'),
sourcemaps = require('gulp-sourcemaps'),
uglify = require('gulp-uglify'),
babelify = require('babelify')
file = 'index.js';

gulp.task('build', function(){
return browserify(file,{debug:true}).transform(babelify, {presets: ["es2015", "react"],sourceMaps:true})
.bundle()
.pipe(source(file))
.pipe(buffer())
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(uglify())
.pipe(sourcemaps.write('./'))
.pipe(gulp.dest('./build/js'))
.pipe(gutil.noop())
})

关于gulp - 如何获取 gulp+babel+browserify+uglify 的源映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34489830/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com