Как настроить Grunt serve/livereload для объединения шаблонов усов

Я использую шаблон Yeoman для разработки статического веб-сайта. grunt serve прекрасно работает с автоматическая перезагрузка плагина.

Для повторяющихся элементов я начал использовать партиалы {{mustache}}, и это работает как взрыв. Теперь я хочу, чтобы автоматическая перезагрузка собирала мою страницу, чтобы я мог посмотреть на полученную страницу при редактировании одного из файлов усов (либо основного файла, либо частичного).

Я нашел задачу для него, но сшить ее воедино у меня не получается. Мой конфиг выглядит так:

grunt.initConfig({
  sass: {
    dev: {
      src: ['src/sass/*.sass'],
      dest: 'dest/css/index.css',
    },
  },
  watch: {
    sass: {
      // We watch and compile sass files as normal but don't live     reload here
      files: ['src/sass/*.sass'],
      tasks: ['sass']
    },
    mustache: {
    files: '**/*.mustache',
    tasks: ['mustache_render'],
    options: {
      interrupt: true
        },
    },  
    livereload: {
      options: { livereload: true },
      files: ['dest/**/*']
    }
  },
  mustache_render: {
    options: {
      {data: 'common-data.json'}
    },
    your_target: {
      files: [
        {expand: true,
        template: '**/*.mustache',
        dest: 'dest/'}
       ]
    }
  }
});

Я должен что-то упустить, так как файлы html не обновляются при сохранении файла.


person stwissel    schedule 19.02.2015    source источник
comment
Почему бы вам не добавить livereload: true непосредственно к параметрам цели просмотра усов?   -  person Guilherme Rodrigues    schedule 23.02.2015
comment
АаааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааааААААААААААААААААААААААААААААААААААААААааааааааааааааааааааааааааа, не знала, что ты так умеешь. Добавьте рекомендацию в качестве ответа, чтобы я мог принять ответ   -  person stwissel    schedule 23.02.2015


Ответы (1)


Вы можете добавить параметр livereload непосредственно к параметрам цели усов.

grunt.initConfig({
  watch: {
    mustache: {
    files: '**/*.mustache',
    tasks: ['mustache_render'],
    options: {
      interrupt: true,
      livereload: true
      },
    }
  },
  mustache_render: {
    options: {
      {data: 'common-data.json'}
    },
    main: {
      files: [
        {expand: true,
        template: '**/*.mustache',
        dest: 'dest/'}
       ]
    }
  }
});

Кроме того, если вы используете grunt-contrib-connect для обслуживания своих файлов, не забудьте добавить к нему параметр livereload:

connect: {
    http: {
      options: {
        hostname: "*",
        port: process.env.PORT || 80,
        livereload: true
      }
    }
  }
person Guilherme Rodrigues    schedule 23.02.2015