Grunt任务svgmin

时间:2014-06-01 14:07:19

标签: gruntjs minify

在我运行grunt时设置for grunt svgmin后,我收到以下错误

Loading "Gruntfile.js" tasks...ERROR
SyntaxError: Unexpected identifier
Warning: Task "default" not found. Use --force to continue.

My grunt file MY package.json file

当我运行咕噜声时,我在终端中得到了上述错误我知道它是愚蠢的我正在做的对我来说是全新的,但是花了几个小时试图解决它。

2 个答案:

答案 0 :(得分:1)

我遇到了类似的错误。在我的情况下,当工具尝试优化保存为.svg的webfont文件时,会发生此错误。您可以通过ignoring the directory字体(路径前面有!)来避免此错误,或者指定存储svgs的目录,如:

dist: {
    files: [
        {
            expand: true,
            cwd: basePath,
            src: ['images/**/*.svg'],
            dest: 'dist/your_path',
            ext: '.svg'
            // ie:
        }
    ]
}

答案 1 :(得分:0)

要使用grunt命令,您需要注册default任务以加载其他任务,例如svgmin

grunt.registerTask('default', ['svgmin']);

请记住,您需要使用npm:

安装grunt-svgmin
npm install --save-dev grunt-svgmin

然后在registerTask

之前加载到Gruntfile
grunt.loadNpmTasks('grunt-svgmin');

这是从他们的GitHub自述文件中提取的一个例子。

grunt.initConfig({                                                                 
    svgmin: {                                                                      
        options: {                                                                 
            plugins: [ { removeViewBox: false }, { removeUselessStrokeAndFill: false } ] 
        },                                                                         
        dist: {                                                                    
           files: {                                                               
                'dist/figure.svg': 'app/figure.svg'                                
            }                                                                      
        }                                                                          
    }                                                                              
});
grunt.loadNpmTasks('grunt-svgmin');
grunt.registerTask('default', ['svgmin']);
相关问题