3

Я настраиваю веб-проект и хочу использовать grunt для автоматизации и рабочего процесса. У меня есть sass, jshint, jsdocs, minifiers, все играют хорошо, но у меня нет проблем с запуском & перезагрузка браузера из командной оболочки.Настройка grunt для запуска и перезагрузки браузера (с минимальными плагинами)

У меня есть 2 условия, которые я хотел бы встретиться в этом:

Нет браузера плагинов. (Я хочу, чтобы он работал прямо из репо: «npm install», «grunt») Удерживайте модули npm до минимума. (В идеале просто хрюкать-вно-смотреть & хрюкать-вно-соединение)

Это мой конфиг для тех 2:

connect: { 
    options: { 
     base: 'app/', 
     port: '8888', 
     livereload: true 
    } 
}, 

watch: { 
    all: { 
     files: [ 
      'gruntfile.js', 
      'app/index.html', 
      'app/partials/*.html', 
      'app/styles/sass/*.scss', 
      'app/scripts/*.js' 
     ], 
     tasks: ['default'], 
     options: { 
      livereload: true 
     } 
    } 
} 

В тестировании я также пытался:

connect: { 
    options: { 
     base: "app/", 
     port: 8888, 
     open: { 
      target: 'app/index.html' 
     } 
    } 
} 

Часы говорит меня, когда файлы меняются, но выполнение задачи по умолчанию (или любой из подзадач, из которого она сделана) не запускает браузер/страницу, и, похоже, нет перезагрузки.

У меня был некоторый успех с открытым рвением, но я убежден, что это должно быть достижимо с помощью просто grunt-contrib-watch после версии 0.6.0?

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

grunt.registerTask('serve', ['sass', 'connect', 'watch']); 
grunt.registerTask('default', ['jshint', 'serve']); 

Результатов в следующем, я не вижу никаких таймингов для подключения, Я предполагаю, что задача не измеряется, потому что она работает параллельно, но так ли это происходит?

Execution Time 
loading tasks 12ms ▇▇▇▇▇ 10% 
jshint:src  78ms ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 62% 
sass:all  11ms ▇▇▇▇▇ 9% 
watch   24ms ▇▇▇▇▇▇▇▇▇ 19% 
Total 126ms 

ответ

1

Ну, не уверен, что это, но с обновлением я вижу, что connect бы никогда не работать, потому что у вас нет цели, указанной:

connect: { 
    server: { // try adding this block 
     options: { 
      base: 'app/', 
      port: '8888', 
      livereload: true 
     } 
    } 
}, 

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

watch: { 
    all: { 
     files: [ 
      // ... 
     ], 
     tasks: ['default'], 
     options: { 
      livereload: 8888 // changed... 
     } 
    } 
} 
+0

Пробовал ваши изменения, и браузер появился в тот момент, когда я нажал save. Спасибо за помощь. –

+0

Без проблем, рад, что это было простое решение. – jakerella