Yeoman Angular.js/Express.js — Grunt перезаписывает index.html при каждом перезапуске вручную

Я новичок в использовании Yeoman и использую его для начальной загрузки Angular.js и Express.js. Gruntfile.js кажется подавляющим. У меня есть пара вопросов:

  1. Каждый раз, когда я перезапускаю веб-сервер с помощью «запуска ворчания», мой файл app/index.html перезаписывается. Это кошмар... как я могу остановить это?
  2. Я добавляю обычный каталог css... app/css. Как заставить grunt обнаруживать в нем изменения файлов и перезагружать браузер? Я пробовал 'css/*.css', но не повезло:

    watch: {
        files: [
          '<%= yeoman.app %>/{,*/}*.html',
          'css/*.css',
          '.tmp/styles/{,*/}*.css',
          '<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}'
        ]   
      }'
    

person dman    schedule 12.04.2014    source источник
comment
Вы когда-нибудь выясняли, как исправить перезапись файла index.html? Я испытываю то же самое и пытаюсь это исправить.   -  person Chris Casad    schedule 01.05.2014
comment
Исправлена. Не уверен, что это так для вас, но для меня я добавлял свой javascript и css в раздел беседки (с комментариями беседки: js) в index.html. Согласно @morloch, внутри функции задачи «обслуживать» файл grunt.js был вызов bowerInstall. BowerInstall заменяет все внутри этих комментариев на включения Bower. Как только я переместил свои включения за пределы этого, они остались в покое. Я вытащил этот ответ в этот пост от @stephen   -  person Chris Casad    schedule 01.05.2014


Ответы (1)


Grunt работает в корневой папке вашего дерева приложений, поэтому, хотя вы были на правильном пути, изменяя объект наблюдения, вам нужно будет добавить <%= yeoman.app %>/ перед вашим css/*.css, чтобы он выглядел в правильной папке. yeoman.app на самом деле просто переменная, расположенная ближе к началу файла.

Чтобы протестировать свое приложение, используйте grunt serve, и это не должно перезаписывать ваш индексный файл. В противном случае найдите раздел в своем Gruntfile.js, где определено grunt.registerTask('serve', найдите grunt.task.run и попробуйте закомментировать каждую задачу и повторно запустить grunt serve, чтобы найти виновника, который перезаписывает ваш индексный файл.

person morloch    schedule 13.04.2014