我是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.
知道出了什么问题吗?
答案 0 :(得分:2)
问题是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插件的文档,稍后您会感谢自己。 : - )