源地图的路径错误 [英] Path to source map is wrong

查看:22
本文介绍了源地图的路径错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用包 gulp-lessgulp-sourcemaps.我的less文件位于Styles/main.less下,但生成的源映射指向source/main.less(其中source/似乎作为前缀).如何解决这个问题,使源映射正确指向 source/Styles/main.less?

I use the packages gulp-less and gulp-sourcemaps. My less file is located under Styles/main.less, but the generated source map points to source/main.less (where source/ seems to be a prefix). How to fix this, so the source map correctly points to source/Styles/main.less?

我的 gulp 任务相当简单:

My gulp task is rather simple:

var gulp        = require('gulp'),
    less        = require('gulp-less'),
    gulpif      = require('gulp-if'),
    sourcemaps  = require('gulp-sourcemaps');

var paths = {
    styles: [
        'Styles/**/*.less',
        '!**/*.min.css'
    ],
    wwwRoot: 'wwwroot/'
}

var isLessFile = function(file) { return /.less$/.test(file.path); }

gulp.task('styles', function() {
    return gulp
        .src(paths.styles)
        .pipe(sourcemaps.init())
            .pipe(gulpif(isLessFile, less()))
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest(paths.wwwRoot + 'styles'));
});

推荐答案

sourcemaps.write('.',{includeContent:false, sourceRoot:'../Styles'})

应该适合你.默认情况下,您在 sourcemap 文件中包含源内容,而 sourceRoot 可能是 '/source/',这意味着使用嵌入的源文件.includeContent:false 将阻止将源嵌入到源映射文件中,您还必须将 sourceRoot 属性设置为从保存源映射到源文件所在位置的相对路径.在我的示例中,它将查找 Styles 文件夹的一个文件夹,这将作为 sourcemaps sources 数组中所有路径的前缀.

Should work for you. By default you are including the source content in your sourcemap file and sourceRoot is probably '/source/' which means to use the embedded source files. includeContent:false will prevent embedding sources into the sourcemap file, you also have to set sourceRoot property to a relative path from where you save your sourcemap to where your source files are located. In my example it will look one folder up for Styles folder, this will be prefixed to all paths in your sourcemaps sources array.

这篇关于源地图的路径错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆