SailsJs 默认添加自定义任务.js



我正在尝试在salsjs应用程序中添加一个自定义任务。

这是我到目前为止所做的:

  • 在任务/配置目录中添加了一个名为 cssminTemplates 的新文件.js
  • 修改任务/注册目录中的默认.js文件。

我的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');
};

默认.js文件修改如下:

module.exports = function (grunt) {
 grunt.registerTask('default', [
  'compileAssets',
  'linkAssets',
  'cssminTemplates',
  'watch']);
};

但是当我使用 sails lift 命令启动应用程序时,我收到此错误:

Warning: Task "cssminTemplates" not found. 

我尝试用"cssmin"更改"cssminTemplates",但没有错误。

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不起作用的原因。

相关内容

  • 没有找到相关文章

最新更新