it-swarm.com.ru

grunt-contrib-watch с LiveReload не работает

Я не могу заставить LiveReload работать с Grunt. Я использую grunt-contrib-watch. Пока Grunt просматривает указанные файлы, в браузере ничего не загружается. Итак, я увижу:

Running "watch" task
Completed in 0.203s at Thu Nov 21 2013 00:59:59 GMT-0500 (EST) - Waiting...
OK
>> File "views/index.html" changed.

Но окно браузера не обновляется. Я использую LiveReload 2.0.9. Любые предложения о том, как запустить его?

Gruntfile.js

module.exports = function(grunt) {

  'use strict';

  grunt.initConfig({
    express: {
      dev: {
        options: {
          script: './app.js'
        }
      }
    },
    watch: {
      tasks:  [ 'express:dev' ],
      options: {
        livereload: true,
        nospawn: true
      },
      files: [
        './views/index.html',
        './preprocessing/css/style.scss'
      ]
    }
  });

  grunt.loadNpmTasks('grunt-express-server');
  grunt.loadNpmTasks('grunt-contrib-watch');

  grunt.registerTask('default', [ 'express:dev', 'watch' ]);
};
12
Evan Emolo

Похоже, все, что вам не хватает, это включая скрипт livereload в вашем документе : <script src="//localhost:35729/livereload.js"></script> по умолчанию.

Если вы хотите избежать необходимости делать это вручную, вы можете использовать connect-livereload middleware.

Вот пример Gruntfile.js это настройка для просмотра и прямой загрузки с использованием промежуточного программного обеспечения, с которым я связан.

19
André Dion

Я знаю, что этот вопрос старше, но я получил эту информацию с другого веб-сайта, и он, похоже, сработал в отношении вопроса, поскольку у меня возникла та же проблема, по существу добавление KeepAlive: true к объекту параметров будет работать. код

grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
develop: {
  server: {
    file: 'bin/www'
  }
},
watch: {
  options: {
    nospawn: true,
    livereload: reloadPort
  },
  server: {
    files: [
      'bin/www',
      'app.js',
      'routes/*.js'
    ],
    tasks: ['develop', 'delayed-livereload']
  },
  js: {
    files: ['public/js/*.js'],
    options: {
      livereload: reloadPort,
      keepAlive:true
    }
  },
  css: {
    files: [
      'public/css/*.css'
    ],
    options: {
      livereload: reloadPort,
        keepAlive:true
    }
  },
  views: {
    files: ['views/*.ejs'],
    options: {
      livereload: reloadPort,
        keepAlive:true
    }
  }
}

});

0
James Daly

Если вы не добавите livereload.js на страницы. Вы можете использовать плагин chrome:

https://chrome.google.com/webstore/detail/livereload/jnihajbhpnppcggbcgedagnkighmdlei .

Используя этот плагин. Когда страница загружается, нажмите плагин ico, убедитесь, что точка изменилась. Затем источник страницы будет автоматически добавлен 

0
lidl