Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GulpRuby sass和concat正在将我的sourcemap放入css中_Sass_Gulp_Source Maps_Event Stream_Gulp Sass - Fatal编程技术网

GulpRuby sass和concat正在将我的sourcemap放入css中

GulpRuby sass和concat正在将我的sourcemap放入css中,sass,gulp,source-maps,event-stream,gulp-sass,Sass,Gulp,Source Maps,Event Stream,Gulp Sass,我正在使用事件流,以便在一个任务中编译SASS并将其与CSS合并。它工作得很好,我唯一的问题是sourcemap在CSS中被合并了 吞咽代码 gulp.task('css', function(){ var sassGlob = "assets/css/**/*.scss"; var cssGlob = "assets/css/**/*.css";; var dest = "./dist/css/min/'"; // compile sass var

我正在使用
事件流
,以便在一个任务中编译SASS并将其与CSS合并。它工作得很好,我唯一的问题是
sourcemap
在CSS中被合并了

吞咽代码

gulp.task('css', function(){

    var sassGlob = "assets/css/**/*.scss";
    var cssGlob = "assets/css/**/*.css";;
    var dest = "./dist/css/min/'";

    // compile sass
    var sassFiles = gulp.src(sassGlob)
    .pipe(plugins.rubySass({
        style: 'expanded', precision: 2
    }));

    // concatenate css + compiled sass
    return es.concat(gulp.src(cssGlob), sassFiles)
        .pipe(plugins.concat('style.min.css'))
        .pipe(gulp.dest(paths.styles.dest));
});
来源:main.SCSS

header {
  padding: 2px;
}
来源:main2.css

body {
    padding: 2px;
}
body {
    padding: 2px;
}

header {
  padding: 2px;
}

/*# sourceMappingURL=main.css.map */

{
"version": 3,
"mappings": "AAAA,IAAK;EACD,OAAO,EAAE,GAAG",
"sources": ["../main.scss"],
"names": [],
"file": "main.css"
}
输出:style.min.css

body {
    padding: 2px;
}
body {
    padding: 2px;
}

header {
  padding: 2px;
}

/*# sourceMappingURL=main.css.map */

{
"version": 3,
"mappings": "AAAA,IAAK;EACD,OAAO,EAAE,GAAG",
"sources": ["../main.scss"],
"names": [],
"file": "main.css"
}
我尝试过的事情

1) 已尝试:将rubySass的sourcemap设置为false结果:无差异

.pipe(plugins.rubySass({
    style: 'expanded', sourcemap: 'none', precision: 2
}));
return es.merge(cssFiles, sassFiles)
        .pipe($.filter("!*.map))
  • 尝试:
    gulp concat sourcemap
    ,这将创建我的外部sourcemap文件,但我的
    style.min.css中仍然有它

    返回es.concatSourceMap(gulp.src(cssGlob),sassFiles) .pipe(plugins.concat('style.min.css')) .管道(吞咽目标(路径、样式目标))

  • 当我检查结果sourcemap的输出时,我注意到了这一点

    {
      "version": 3,
      "file": "style.min.css",
      "sources": [
        "assets/css/other.css",
        "main2.css",
        "main2.css.map"
      ],
      "names": [],
      "mappings": "AAAA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA"
    }
    
    基于此,它似乎将.map文件连接到CSS,这就是我们看到的行为。 所以我试着把它过滤掉

    3) 尝试:使用
    gulp filter
    过滤掉连接在css中的地图文件结果:无差异

    .pipe(plugins.rubySass({
        style: 'expanded', sourcemap: 'none', precision: 2
    }));
    
    return es.merge(cssFiles, sassFiles)
            .pipe($.filter("!*.map))
    

    不久前,我遇到了同样的问题。它与如何使用dargs将参数传递到sass gem有关,您可以找到有关它的更多信息

    然而,由于这一点,这应该是可行的

    并给出了一个简单的解决方案,暂时解决了这个问题:

    .pipe(plugins.rubySass({
      style: 'expanded', 'sourcemap=none': true, precision: 2
    }));
    

    谢谢!!这至少提供了一种在没有源映射的情况下使用源映射的方法。但是你知道我如何在不将源映射与CSS合并到同一个文件中的情况下继续生成源映射吗?请查看所有可用选项。