使用gulp-sourcemaps的一个疑问

发布于 2022-09-01 16:47:51 字数 163 浏览 16 评论 0

我的SourceMap内嵌到文件中了,如何在发布的时候去掉这些SourceMap内容呢?图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

少钕鈤記 2022-09-08 16:47:51

我用的是这样的结构 (gulpfile.js):

// Environment setup.
var env = {
    production: false
};

// Environment task.
gulp.task("set-production", function(){
    env.production = true;
});

// Css process.
gulp.task("postcss", function(){
    var processors = [
        autoprefixer({
            browsers: ["Android 4.1", "iOS 7.1", "Chrome > 31", "ff > 31", "ie >= 10"]
        })];

    if(env.production){
        processors.push(csswring());
        return gulp.src(["./stylesheets/src/*.css", "!./stylesheets/src/fontello.css"])
            .pipe(postcss(processors))
            .pipe(gulp.dest("./stylesheets/dest"));

    }else{

        return gulp.src(["./stylesheets/src/*.css", "!./stylesheets/src/fontello.css"])
            .pipe(sourcemaps.init())
            .pipe(postcss(processors))
            .pipe(sourcemaps.write("."))
            .pipe(gulp.dest("./stylesheets/dest"))
            .pipe(filter("*.css"))
            .pipe(reload({stream: true}));
    }
});

gulp.task("dev", ["postcss"]);
gulp.task("release", ["set-production", "clean", "postcss"]);

同一个postcss的构建任务,会有两条路径,生产环境路径不包含sourcemap。

夜唯美灬不弃 2022-09-08 16:47:51

既然是使用gulp来构建,就应该区分开发(development)和生产(production)环境,在生产环境时不生成Source Map就行了。

一个比较简单的区分方法如下:

var isProduction = process.env.NODE_ENV === 'production';

// 或者
var env = process.env.NODE_ENV || 'development';
葵雨 2022-09-08 16:47:51

clipboard.png

SourceMap,可以生成单独的 .map文件。
如图,不想要.map文件,删了就行

再者可以分开发环境,或 写一个打包为生产环境的 build 命令

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文