【问题标题】:gulp-sourcemaps outputs incorrect sources in .css.mapgulp-sourcemaps 在 .css.map 中输出不正确的源
【发布时间】:2017-01-11 16:52:12
【问题描述】:

我似乎无法弄清楚我的 gulp 和 gulp-sourcemaps 配置有什么问题。我的 main.cssmain.css.map 已编译,但我得到的来源不正确:

{"version":3,"file":"main.css","sources":["/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css","/assets/sass/main.css" [...] etc

它从不显示除main.css 以外的任何内容作为源。当我通过浏览器检查并单击源时,它会显示最后在 SCSS 中导入的文件。

这是我的 Gulp 任务:

gulp.task('sass', function () {
    return gulp.src(config.sass.src)
        .pipe(sourcemaps.init({largeFile: true}))
        .pipe(sass().on('error', sass.logError ))
        .pipe(sourcemaps.write("."))
        .pipe(gulp.dest(config.sass.dest));
});

我的config.sass.srcassets/sass/**/*.{sass,scss}

我也有一些autoprefixer 管道和cssnano,但我已经注释掉了所有额外的东西并尝试运行它们,唉,同样的东西。

这是我的 SCSS 的一个最小示例:

main.scss:

@import "components/buttons";

components/_buttons.scss:

button {
    padding: 10px;
    background: black;
    color: white;
    border: 0;
    border-radius: 0;
}

这会在 css.map 中输出以下内容:

{"version":3,"file":"main.css","sources":["/assets/sass/main.css","/assets/sass/main.css"],"sourcesContent":["@import \"components/buttons\";","button {\n    padding: 10px;\n    background: black;\n    color: white;\n    border: 0;\n    border-radius: 0;\n}"],"mappings":"ACAA,AAAA,MAAM,CAAC;EACH,OAAO,EAAE,IAAK;EACd,UAAU,EAAE,KAAM;EAClB,KAAK,EAAE,KAAM;EACb,MAAM,EAAE,CAAE;EACV,aAAa,EAAE,CAAE,GACpB","names":[]}

使用:

  • 吞咽 3.9.1
  • gulp-sass 2.3.2
  • gulp-sourcemaps 1.10.0

【问题讨论】:

  • 您的任务没有明显问题。您必须提供一个最小的 SASS/SCSS 文件来重现问题,以便有机会解决这个问题。
  • @SvenSchoenung 完成!我还添加了我的config.sass.src 是什么,我认为问题可能是我使用每个 scss/sass 文件作为源,所以我将其更改为main.scss 的路径并且确实构建了 css,但源映射是完全一样。

标签: gulp gulp-sass gulp-sourcemaps


【解决方案1】:

您正在使用的gulp-sourcemaps 版本中的a bug

1.10.0 更新到1.10.1 应该可以解决问题:

npm install --save-dev gulp-sourcemaps

【讨论】:

  • 我正要走出门回家,这成功了! (虽然我使用纱线但原理相同)。你在哪里找到这个的?我已经使用terms like this 搜索了至少两个小时,当我知道它与 gulp-sourcemaps 有关时,这只是搜索词。无论如何,非常感谢!我现在需要做的就是指向正确的源位置,但我明天可能会自己找出一个;)
  • 好吧,在我能够用您问题中的信息重现问题后,我能想到的唯一解释是gulp-sourcemaps 中的错误。尝试升级插件,当它修复它时,我去查看 the recent commits 链接 issue #270
猜你喜欢
  • 2015-10-28
  • 1970-01-01
  • 1970-01-01
  • 2014-12-10
  • 2015-04-12
  • 2014-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多