繁体   English   中英

Grunt Smoosher什么也没做

[英]Grunt Smoosher doesn't do anything

我是Grunt的新手。 在此Gruntfile中使用smoosher ,我试图在HTML中插入所有CSS和Javascript资源:

module.exports = function ( grunt ) {

    grunt.initConfig({
        smoosher: {
            files: {
                'page1-dist.html': 'page1.html'
            }
        }
    });

    grunt.loadNpmTasks( 'grunt-html-smoosher' );

    grunt.registerTask( 'default', [ 'smoosher' ] );
};

但是它什么也没做。 它不会创建任何page1-dist.html文件。 这是运行grunt时获得的唯一输出:

Running "smoosher:files" (smoosher) task

Done, without errors.

知道有什么问题吗?

问题在于grunt-html-smoosher在Grunt中被称为multitask 基本上,这意味着即使您仅指定一组选项,也需要将设置包装在目标中。 在查看了此插件的源代码之后,它在底部记录了已创建文件的情况,因此仅是错误的配置(因为未获得预期的输出)。 因此,您的Gruntfile应该看起来像这样:

module.exports = function ( grunt ) {

    grunt.initConfig({
        smoosher: {
            dist: {
                files: {
                    'page1-dist.html': 'page1.html'
                }
            }
        }
    });

    grunt.loadNpmTasks( 'grunt-html-smoosher' );

    grunt.registerTask( 'default', [ 'smoosher' ] );
};

如果愿意,可以用其他东西代替dist

许多Grunt任务都遵循此模式,如果您在特定插件中根据要影响的文件使用不同的选项,这很有用,但是如果插件的行为不符合您的期望,则应牢记这一点。 务必确保阅读Grunt插件的文档,以后再感谢您。 :-)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM