Меньше в SourceMap абсолютных путей к файлам с использованием Grunt
У меня есть файловая структура, которая выглядит так (упрощенно для краткости):
/less/
/styles.less
/public/
/css/
/styles.css
/styles.css.map
/gruntfile.js
Gruntfile.js:
less: {
options: {
sourceMap: true,
sourceMapFilename: 'public/css/styles.css.map',
sourceMapURL: 'less/styles.less'
}
files: {
'public/css/styles.css': 'less/styles.less'
}
}
В HTML-файл: <link rel="stylesheet" href="/css/styles.css">
Теперь проблема в том, что в инструментах разработки, styles.less
указывает на /css/less/styles.less
, Это явно не правильно, как и должно быть /less/styles.less
, Но я могу заставить его указать на корень проекта.
я пробовал sourceMapBasepath
а также sourceMapRootpath
варианты без везения.
Мысли?
Другое дело в моем файле CSS (/css/styles.css
) Я получаю это:
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjp... */
Почему это выход base64? Я думал, что это должно просто указать на styles.css.map
файл.
1 ответ
С grunt-contribe-less 1.0.0
следующая задача
less: {
options: {
sourceMap: true,
sourceMapRootpath: '/'
},
files: {'css/t.css' : 'less/t.less'}
}
}
генерировать css/t.css
и css/t.css.map
, Последний файл будет сгенерирован автоматически без необходимости устанавливать sourceMapFilename.
Выше не генерирует встроенную исходную карту (с выводом base64).
css/t.css
заканчивается:
/ * # sourceMappingURL = css / t.css.map * /
Возможно, это зависит от вашей версии grunt-contrib-less, см. Также Поддерживает ли grunt-contrib-less --source-map-map-inline? (который описывает встроенные исходные карты, как вы описываете)
Читайте: https://github.com/gruntjs/grunt-contrib-less
задавать sourceMapBasepath
в/
,
Почему это выход base64? Я думал, что это должно просто указать на файл styles.css.map.
-
sourceMapFilename
Тип: String По умолчанию: нет
Запишите исходную карту в отдельный файл с заданным именем файла.