2016-07-08 8 views
0

私はsalsjsアプリケーションでカスタムタスクを追加しようとしています。SailsJs default.jsでカスタムタスクを追加

これは私がこれまで何をやったかである:

  • はcssminTemplates.js
  • という名前のタスク/ configディレクトリに新しいファイルを追加しましたタスク/ registerdディレクトリ内にDefault.jsファイルを変更します。

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

    しかし、ときに私は開始:次のように変更されて

    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に:

私cssminTemplates.jsは基本的にcssmin.js標準ファイルのコピーですセイルリフトコマンド付きアプリこのエラーが発生しました:

Warning: Task "cssminTemplates" not found. 

私は 'cssminTemplates'を 'cssmin'で変更しようとしていますが、エラーはありません。 Grunt.js

答えて

0

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からそれを呼び出すが、うなり声はloadNpmTasks()経由代わりcssminをロードされます。私はそれが設定cssminTemplatesが動作しない理由だと思います。

関連する問題