SailsJs добавляет пользовательское задание в default.js
Я пытаюсь добавить пользовательскую задачу в приложении salsjs.
Это то, что я сделал до сих пор:
- Добавлен новый файл в каталог task/config с именем cssminTemplates.js
- Измените файл default.js в каталоге task/registerd.
Мой 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.
Я пытаюсь изменить 'cssminTemplates' на 'cssmin', и у меня нет ошибок.
1 ответ
В Grunt.js
( ссылка), cssminTemplates
функция вызывается вместо cssmin
который загружается через grunt.loadNpmTasks('grunt-contrib-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
не работает.