运行grunt.js任务时出错

时间:2013-12-30 08:43:27

标签: javascript node.js gruntjs npm

我正在使用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"
  }
}

所有依赖项都安装得很好,没有任何错误......

但是当我运行gruntgrunt 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.

是否有人知道此错误的含义以及如何纠正错误?我搜索并搜索过,但我找不到任何涵盖此错误的文档。

2 个答案:

答案 0 :(得分:1)

也许您正在使用不受支持的选择器,例如此问题:https://github.com/addyosmani/grunt-uncss/issues/14

答案 1 :(得分:0)

您的css中可能会出现语法错误。或者你的css中有错误。您可以使用--force运行,如错误提示,我假设将忽略该单一规则。

您可以在css文件中查找看起来像这样的选择器:(http