使用以下配置使用grunt-contrib-less和相应的grunt任务编译我的LESS文件:
module.exports = {
options: {
sourceMap: true,
sourceMapFilename: 'Content/styles/e-life.css.map'
},
compile: {
files: {
'Content/styles/e-life.css' : 'Content/styles/common.less'
}
}
}
然后我用cssmin导出输出css文件。我把它缩小了,但是我希望将上一步中的源地图绑定到缩小的css。
module.exports = {
options: {
sourceMap: 'Content/styles/e-life.css.map'
},
all: {
files: {
'Content/styles/e-life.css': ['Content/styles/e-life.css']
}
}
}
如果我在options.sourceMap中提到源映射路径,则任务失败。我在css-clean docs中看到以下内容:
sourceMap - 在sourceMap属性下公开源映射,例如: new CleanCSS()。minify(source).sourceMap(默认为false)如果输入样式是CSS预处理器(Less,Sass)的产品,则输入源映射可以作为字符串传递。
但我无法理解如何将此字符串传递给任务。它甚至可能吗?我怎么能这样做?
答案 0 :(得分:1)
grunt-contrib-cssmin
不允许您链接源图。
它的sourceMap选项只有true / false,并且会生成从缩小的css到原始css的映射,而不是原始的Less,抱歉。
考虑到源映射主要用于调试,我建议:
答案 1 :(得分:1)
您还可以避免使用Grunt cssmin任务,并使用compress
选项减少压缩。
module.exports = {
options: {
compress: true,
sourceMap: true,
sourceMapFilename: 'Content/styles/e-life.css.map'
},
compile: {
files: {
'Content/styles/e-life.css' : 'Content/styles/common.less'
}
}
}