我正在尝试在salsjs应用程序中添加自定义任务。
这是我到目前为止所做的:
我的cssminTemplates.js基本上是cssmin.js标准文件的副本:
module.exports = function(grunt) {
grunt.config.set('cssminTemplates', {
dist: {
src: ['asset/templates/above_the_fold.css'],
dest: 'asset/templates/above_the_fold.min.css'
}
});
grunt.loadNpmTasks('grunt-contrib-cssmin');
};
default.js文件已修改如下:
module.exports = function (grunt) {
grunt.registerTask('default', [
'compileAssets',
'linkAssets',
'cssminTemplates',
'watch']);
};
但是当我用sails lift命令启动应用程序时,我收到了这个错误:
Warning: Task "cssminTemplates" not found.
我尝试用'cssmin'更改'cssminTemplates'并且我没有错误。
答案 0 :(得分:0)
在Grunt.js
(ref)中,调用cssminTemplates
函数而不是通过grunt.loadNpmTasks('grunt-contrib-cssmin');
加载的cssmin
。这是调用函数的地方:
function invokeConfigFn(tasks) {
for (var taskName in tasks) {
if (tasks.hasOwnProperty(taskName)) {
// Invoking the function....
tasks[taskName](grunt);
}
}
}
换句话说,您正在设置功能(cssminTemplates
)并从Grunt.js
调用它,但Grunt已加载cssmin
而不是loadNpmTasks()
。我认为这就是为什么设置cssminTemplates
不起作用的原因。