2017-02-21 45 views
0

я получаю сообщение об ошибке:Grunt: «Загрузка« Gruntfile.js »tasks ... ERROR >> SyntaxError: Неожиданный идентификатор Warning: Задача« default »не найдена. Используйте -force для продолжения».

«borted из-за предупреждения SC:. \ Atomworkspace \ angularproject \ Путаница> хрюкать oading "" задача Gruntfile.js ... ОШИБКА

SyntaxError: Unexpected identifier arning: Task "default" not found. Use --force to continue. "

Я хочу Grunt может указать мне номер строки в файле grunt, где возникает синтаксическая ошибка. Вполне откровенно, что это должно было произойти с пакетом по умолчанию. Мне кажется, что это мой здравый смысл. В любом случае, вот мой код. Я не могу найти, где проблема Кто-то, пожалуйста, помогите.

'use strict'; 
module.exports = function(grunt) { 
//time how long the tasks take. 
require('time-grunt')(grunt); 
//automatically load required grunt tasks 
require('jit-grunt')(grunt, {useminPrepare: 'grunt-usemin' 
}); 
// Define the configuration for all the tasks 
grunt.initConfig({ 
    pkg: grunt.file.readJSON('package.json'), 
    //Make sure code styles are up to par and there are no obvious mistakes 
    jshint: { 
     options: { 
      jshintrc: '.jshintrc', 
      reporter: require('jshint-stylish') 
     }, 
     all: { 
      src: [ 
       'Gruntfile.js', 
       'app/scripts/{,*/}*.js' 
      ] 
     } 
    } 
    copy: { 
     dist: { 
      cwd: 'app', 
      src: ['**', '!styles/**/*.css', '!scripts/**/*.js'], 
      dest: 'dist', 
      expand: 'true' 
     }, 
     fonts: { 
      files: [{ 
       //for bootstrap fonts 
       expand: true, 
       dot: true, 
       cwd: 'bower_components/bootstrap/dist', 
       src: ['fonts/*,*'], 
       dest: 'dist' 
      }] 
     } 
    }, 
    clean: { 
     build: { 
      src: ['dist/'] 
     } 
    }, 
    useminPrepare: { 
     html: 'app/menu.html' 
     options: { 
      dest: 'dist' 
     } 
    }, 
    //Concat 
    concat: { 
     options: { 
      separator: ';' 
     }, 
     //dist configuration given by useminPrepare 
     dist: {} 
    }, 

    //Uglify 
    Uglify: { 
     //dist configuration given by useminPrepare 
     dist: {} 
    }, 

cssmin: { 
    dist: {} 
}, 
    //Filerev 
    filerev: { 
     options: { 
      encoding: 'utf8', 
      algorithm: 'md5', 
      length: 20 
     }, 
     release: { 
      //Filerev: release hashes(md5) all assets (images, js, and css) 
      // in dist direcftory 
      // brackets are used to specify file 
      files: [{ 
       src: [ 
        'dist/scripts/*.js', 
        'dist/styles/*.css', 
       ] 
      }] 
     } 
    }, 
    //useminPrepare`` 
    //Replace all assets with their recent version in html and css files. 
    //options.assetDirs holds the directories for finding the assets       
    usemin: { 
     html: ['dist/*.html'], 
     css: ['dist/styles/*.css'], 
     options: { 
      assetDirs: ['dist', 'dist/styles'] 
     } 
    } 
}); 
grunt.registerTask('build', [ 
    'clean', 
    'jshint', 
    'useminPrepare', 
    'concat', 
    'cssmin', 
    'uglify', 
    'copy', 
    'filerev', 
    'usemin' 
]); 
grunt.registerTask('default', ['build']); 

}; 

ответ

1

Чтобы получить более конкретные сообщения об ошибках, попробуйте использовать grunt --verbose.

Вы пропускаете запятую перед вашей задачей копирования:

}, 
copy: { 

и один после вашего html: поля в useminPrepare задаче:

useminPrepare: { 
     html: 'app/menu.html', 
+0

Название задач должны точно совпадать. Вы использовали капитал U в названии задачи «** uuglify **». Пожалуйста, измените его соответствующим образом. –

+1

Спасибо Revive. Это сработало! Весьма признателен. –