2016-05-21 5 views
2

Я постоянно сталкиваюсь с этой проблемой каждый раз, когда я пытаюсь использовать опцию живой перезагрузки ворчащих часов. Независимо от того, какой порт я использую, я продолжаю получать «Неустранимая ошибка: порт xxxx уже используется другим процессом». Я перечислил все используемые порты, и выбор случайного числа, который не отображается в списке, не помогает: он заменяет xxxx с любым последним портом, используемым в файле grunt.Grunt: Livereload не работает

Мой сам gruntfile:

module.exports = function (grunt) { 

grunt.initConfig({ 
    pkg: grunt.file.readJSON('package.json'), 

    watch: { 

     options: { 
      livereload: true 
     }, 

     js: { 
      files: ['.dev/**/*.js'], 
      tasks: ['concat', 'uglify', 'watch'], 
     }, 
     scss: { 
      files: ['./dev/scss/*.scss'], 
      tasks: ['sass', 'concat', 'watch'], 
      options: { 
       reload: true, 
       livereload: false, 

      } 
     }, 
     html: { 
      files: ['./dev/**/*.html', 'watch'], 
      tasks: ['copy', 'watch'], 
     }, 
     grunt: { 
      files: ['Gruntfile.js'], 
      tasks: ['watch'], 
     }, 
    }, 

    concat: { 
     js: { 
      src: ['dev/js/script1.js', 'dev/js/script2.js'], 
      dest: 'dev/js/script.js', 
     }, 
     css: { 
      src: ['./dev/css/nav.css', './dev/css/anim.css', './dev/css/style.css'], 
      dest: './dist/css/style.css', 
     }, 
    }, 

    uglify: { 
     build: { 
      src: 'dev/js/script.js', 
      dest: 'dist/js/script.min.js' 
     } 
    }, 

    sass: {        // Task 
     dev: {       // Target 
      files: {       // Dictionary of files 
       './dev/css/style.css': './dev/scss/style.scss',  // 'destination': 'source' 
      }, 
      tasks: ['copy'], 
     } 
    }, 

    copy: { 
     main: { 
      expand: true, 
      cwd: './dev/html', 
      src: '*.html', 
      dest: './dist/html/' 
     }, 
    }, 
}); 

// Load the plugin that provides the "uglify" task. 
grunt.loadNpmTasks('grunt-contrib-uglify'); 
grunt.loadNpmTasks('grunt-contrib-watch'); 
grunt.loadNpmTasks('grunt-contrib-concat'); 
grunt.loadNpmTasks('grunt-contrib-copy'); 
grunt.loadNpmTasks('grunt-contrib-sass'); 


// Default task(s). 
grunt.registerTask('default', ['concat', 'uglify', 'sass', 'copy', 'watch']); 

}; 

Я еще новичок в НПМ, хрюкать и т.д., и имел этот вопрос с помощью YEOMAN, а также. Есть ли приложение, которое может автоматически прослушивать каждый порт (я использую Webstorm)? Однако, когда я закрываю его и использовать возвышенные и терминал, он продолжает говорить каждый случайный порт уже используется

ответ

1

Похоже, вы рекурсивный вызова часов ..

Возьми эту часть вашего gruntfile например:

watch: { // hey grunt, you now know of a task called 'watch' 
    .... 
    html: { 
     files: ['./dev/**/*.html', 'watch'], // here are the files to watch 
     tasks: ['copy', 'watch'], // and oh, hey, when you run watch, make 
            // sure to run watch again, recursively, forever 
    } 

Я думаю, вы можете видеть, где это происходит. Ваш порт используется, потому что ваша задача просмотра уже запущена, когда она пытается запустить снова. Вам не нужно регистрировать «смотреть» как задачу в каждом подразделении часов. Надеюсь, что это поможет :)

+0

Эй, я должен был спросить этого дня назад! Отлично работает. огромное спасибо –

Смежные вопросы