2016-09-27 4 views
0

私はCSS ['sass:main']とJS ['jshint:main'、 'concat:main'、 'uglify:メイン ']が、私は別々のファイル(JSとCSS)のために別々のタスクを行い、変更(時計)を聞きたい。誰かが正しい方向に私を向けることができます、私は本当に何を探していなければならないのか分かりません。これは時計が扱えるものか、それとも別のプラグインですか?私はちょっと新しいことをやっつけて、まだそれを使う方法を見つけようとしています。私は実行するタスクしようとするとGrunt:CSSとJSのために別々のプロセスを実行する方法

module.exports = function(grunt) { 
    var config = { 
     pkg: grunt.file.readJSON('package.json'), 
     jshint: { 
      options: { 
       globals: { 
        jQuery: true, 
        console: true, 
        module: true, 
        document: true 
       } 
      }, 
      main: { 
       src: [ 
        'assets/templates/main/js/crm/*.js', 
       ] 
      } 
     }, 
     concat: { 
      options: { 
       separator: '\n\n' 
      }, 
      main: { 
       src: [ 
        'assets/templates/main/js/crm/*.js', 
       ], 
       dest: 'assets/templates/main/js/crm.min.js' 
      } 
     }, 
     sass: { 
      options: { 
       style: 'compressed' 
      }, 
      main: { 
       files: { 
        'assets/templates/main/css/main.min.css': 'assets/templates/main/sass/main.scss', 
       } 
      } 
     }, 
     uglify: { 
      options: { 
       banner: '/*! <%= pkg.name %> <%= grunt.template.today("yyyy-mm-dd") %> */\n' 
      }, 
      main: { 
       src: 'assets/templates/main/js/crm.min.js', 
       dest: 'assets/templates/main/js/crm.min.js' 
      } 
     }, 
     watch: { 
      mainjs: { 
       files: ['assets/templates/main/js/crm/*.js'], 
       tasks: ['jshint:main', 'concat:main', 'uglify:main'], 
      }, 
      mainsass: { 
       files: ['assets/templates/main/sass/*.scss''], 
       tasks: ['sass:main'], 
      } 
     }, 
     concurrent: { 
      maincss: ['sass:main'], 
      mainjs: ['jshint:main', 'concat:main', 'uglify:main'] 
     } 
    }; 

    grunt.initConfig(config); 

    grunt.loadNpmTasks('grunt-contrib-jshint'); 
    grunt.loadNpmTasks('grunt-contrib-concat'); 
    grunt.loadNpmTasks('grunt-contrib-sass'); 
    grunt.loadNpmTasks('grunt-contrib-uglify'); 
    grunt.loadNpmTasks('grunt-contrib-watch'); 
    grunt.loadNpmTasks('grunt-concurrent'); 

    grunt.registerTask('main', ['jshint:main', 'concat:main', 'uglify:main', 'sass:main']); 
    grunt.registerTask('main-watch', ['jshint:main', 'concat:main', 'uglify:main', 'sass:main', 'concurrent:mainsass']); 
}; 

:おかげ

GruntFile.js

$ grunt main-watch 
Loading "Gruntfile.js" tasks...ERROR 
SyntaxError: Invalid or unexpected token 
Warning: Task "main-watch" not found. Use --force to continue. 

Aborted due to warnings. 

答えて

0

を使用すると、2つの同時監視タスクを実行するように聞こえます。あなたがコンソールにログインし、出力を確認したい場合はfalseからlogConcurrentOutputデフォルトこと

... 

    concurrent: { 
     options: { logConcurrentOutput: true }, 
     watch: ['watch:mainjs', 'watch:mainsass'] 
    } 
}; 

... 

grunt.registerTask('main-watch', ['concurrent:watch']); 

注意を、そう、あなたはtrueに設定する必要があります:あなたはこのような構成を使用していることを行うことができます。

関連する問題