2014-08-31 3 views
6

у меня есть два МЕНЬШЕ файлы в моей/меньше папке:Как быть sourcemaps включают все мои МЕНЬШЕ файлы с глотком

main.less:

@import 'vars'; 

body{ 
    background-color: @blau; 
} 

и vars.less

@blau : #6621ab; 

Моя задача с использованием глобуса с использованием карт, не содержащих глотков и галпов-источников

gulp.task('less', function() { 
    gulp.src('./less/main.less') 
    .pipe(sourcemaps.init()) 
    .pipe(less()) 
    .pipe(sourcemaps.write()) 
    .pipe(gulp.dest('./public/')) 
}); 

Создание CSS (в /public/main.css) отлично работает, но в исходных картах я могу видеть только main.less, а не vars.less. Есть идеи? Заранее спасибо

ответ

3

Насколько я понимаю, ваша конфигурация генерирует следующий sourcemap код:

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1haW4ubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtFQUNFLHlCQUFBIiwiZmlsZSI6Im1haW4uY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAndmFycyc7XG5cbmJvZHl7XG4gIGJhY2tncm91bmQtY29sb3I6IEBibGF1O1xufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 */ 

Кодируемая версия:

{"version":3,"sources":["main.less"],"names":[],"mappings":"AAEA;EACE,yBAAA","file":"main.css","sourcesContent":["@import 'vars';\n\nbody{\n background-color: @blau;\n}\n"],"sourceRoot":"/source/"} 

Ваш vars.less не генерирует никакого вывода в CSS и так не должны включаться в исходную карту.

Как только ваш vars.less генерирует выходной сигнал, например, добавить .selector {p:1;} в конце этого файла, файл будет также включен в исходной карте:

{"version":3,"sources":["vars.less","main.less"],"names":[],"mappings":"AACA;EAAW,IAAA;;ACCX;EACE,yBAAA","file":"main.css","sourcesContent":["@blau : #6621ab;\n.selector {p:1;}\n","@import 'vars';\n\nbody{\n background-color: @blau;\n}\n"],"sourceRoot":"/source/"} 

Обратите внимание, что lessc компилятор имеет различные опции для источник карты:

--source-map[=FILENAME] Outputs a v3 sourcemap to the filename (or output filename.map) 
    --source-map-rootpath=X adds this path onto the sourcemap filename and less file paths 
    --source-map-basepath=X Sets sourcemap base path, defaults to current working directory. 
    --source-map-less-inline puts the less files into the map instead of referencing them 
    --source-map-map-inline puts the map (and any less files) into the output css file 
    --source-map-url=URL  the complete url and filename put in the less file 

в Глоток-sourcemaps выдает тот же результат компиляции с обеих --source-map-less-inline и --source-map-map-inline варианты

+2

Привет, Басс !! Заменяя 'gulp.src ('./ less/main.less')' с 'gulp.src ('./ less/*. Less')' его генерирующий файл vars.css, с его собственным сопоставлением source. Затем, в том числе vars.css в мой html, я вижу, что это источник: D Dou вы знаете какую-либо технику, чтобы включить vars.less sourcemapping в main.css, поэтому мне просто нужно включить один файл? Спасибо за ваше время! – Karlas