我正在使用grunt.js的uncss任务,以便通过删除未使用的规则来减少CSS的大小。
以下是uncss的网址:https://github.com/addyosmani/grunt-uncss
这是我的Gruntfile.js设置:
module.exports = function(grunt) {
grunt.initConfig({
uncss: {
dist: {
files: {
'docs/tidy.css': ['docs/index.html']
}
},
options: {
compress:true
}
},
processhtml: {
dist: {
files: {
'docs/tidy.css': ['docs/index.html']
}
}
}
});
grunt.loadNpmTasks('grunt-uncss');
grunt.loadNpmTasks('grunt-processhtml');
grunt.registerTask('default', ['uncss','processhtml']);
};
这是我的package.json:
{
"name": "ProjectName",
"version": "0.0.1",
"private": true,
"devDependencies": {
"grunt": "~0.4.2",
"grunt-uncss": "~0.1.5",
"grunt-processhtml": "~0.2.7"
}
}
所有依赖项都安装得很好,没有任何错误......
但是当我运行grunt
或grunt uncss
时,我收到以下错误:
Running "uncss:dist: (uncss) task
[SyntaxError: Unmatched selector:(http]
>> Uncssing source "docs/index.html" failed.
Warning: Uncss failed. Use --force to continue.
Aborted due to warnings.
是否有人知道此错误的含义以及如何纠正错误?我搜索并搜索过,但我找不到任何涵盖此错误的文档。
答案 0 :(得分:1)
也许您正在使用不受支持的选择器,例如此问题:https://github.com/addyosmani/grunt-uncss/issues/14
答案 1 :(得分:0)
您的css中可能会出现语法错误。或者你的css中有错误。您可以使用--force
运行,如错误提示,我假设将忽略该单一规则。
您可以在css文件中查找看起来像这样的选择器:(http