1

这有点奇怪:

我有一个看起来像这样的 gulp 任务:

gulp.task('less', function () {
  gulp.src('./less/main.less')
    .pipe(sourcemaps.init())
    .pipe(less({
      plugins: [cleancss]
    }))
    .pipe(sourcemaps.write()) // will write the source maps to ./public/assets/css-dist/maps
    .pipe(gulp.dest(paths.public + 'css/dist'));
});

我正在从 play 1.3 项目中运行此任务,它按预期生成 base64 编码的内联源映射,但是当我在 chrome 中加载它时,所有样式都映射到第 1 行main.css,表明有些东西是错误的。

现在,这就是奇怪的地方:如果我运行相同的任务,指向相同文件的副本,在另一个具有相同目录结构的项目中,只是在普通 ol' apache 下运行,它完全按预期工作。输出文件看起来完全相同。

有没有人知道为什么会这样?

FWIW,在缩小和连接我的 js 时,使用gulp-uglifygulp-concat

4

1 回答 1

0

试试看你是否可以通过这个可视化工具来可视化差异/映射。如果两个项目之间的两个编译文件完全相同,那么可能是由于您提供/访问文件的方式不同?对于第二个项目,您是否还尝试通过 Chrome 查看源地图?

澄清一下,您不仅要编写内联源映射,还要嵌入源,因此所有内容都在编译后的 .css 文件中,外部原始源文件不是引用的源(sourceRoot将是/source/)。

于 2015-02-06T13:02:11.557 回答