Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.09.2015, 13:16
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Gulp watcher и Babel. Как компилировать только измененный файл?
Пытаюсь настроить Gulp. Хочу сделать таск "watch:all", который будет прослушивать и стили (SASS) и скрипты. Проблема в том, что все решения, которые есть в интернете, сводятся к тому, что Gulp слушает изменения во всех целевых файлах, и, если изменение произошло, компилирует все целевые файлы, а не тот, который изменился. При большом количестве модулей, компиляция может занять несколько секунд. Это раздражает, так как я обычно переключаюсь между редактором и браузером не более чем за полсекунды.

Здесь сильно выигрывает комманда babel watch. Она, как и нужно, компилирует только измененный файл. Получается, что имея Gulp, я по-прежнему должен запускать сторонние команды и, в качестве бонуса, запускать вотчер стилей в другой вкладке терминала. Абсурд.

Есть ли идеи, как реализовать вотчер наиболее элегантно?

Раньше пользовался Grunt, но меня подкупила скорость и элегантность Gulp.

Из проекта в проект копировал туда-сюда такой код:
grunt.event.on('watch', function(action, filepath) {
	if (~filepath.indexOf('.es')) {
		grunt.config(['babel', 'single', 'files'], [{
			src: filepath,
			dest: filepath.replace('src/', 'js/').replace('.es', '.js')
		}]);
	} else if (~filepath.indexOf('.js')) {
		grunt.file.delete(filepath.replace('src/', 'js/'));
		grunt.file.copy(filepath, filepath.replace('src/', 'js/'));
	}
});

Вяглядит уродливо, как по мне.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #2 (permalink)  
Старый 25.09.2015, 13:46
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Для инкрементальной сборки есть ряд хороших плагинов:

https://github.com/gulpjs/gulp#incremental-builds

Для запуска CLI API модулей есть хороший плагин: gulp-run.

Также следует заметить, что у встроенного вотчера галпа есть ряд проблем, например он не аттачит новые файлы, поэтому лучше юзать плагины вроде gulp-watch.
__________________
kobezzza
code monkey
Ответить с цитированием
  #3 (permalink)  
Старый 25.09.2015, 13:55
Профессор
Отправить личное сообщение для ТОТ_САМЫЙ Посмотреть профиль Найти все сообщения от ТОТ_САМЫЙ
 
Регистрация: 10.09.2015
Сообщений: 184

А я вот встроил кэширование в свой плагин gulp-image-master
и он оптимизирует только изменившиеся фотки ^_^, чуто пожже я вам о нем расскажу
Ответить с цитированием
  #4 (permalink)  
Старый 25.09.2015, 16:36
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

kobezzza, о, спасибо. Воспользовался gulp-changed.
Сообщение от ТОТ_САМЫЙ
А я вот встроил кэширование в свой плагин gulp-image-master
А я сегодня утром бутер съел с томатным соком.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #5 (permalink)  
Старый 25.09.2015, 16:50
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

kobezzza, спасибо, будем знать

Сообщение от FINoM
А я сегодня утром бутер съел с томатным соком.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #6 (permalink)  
Старый 25.09.2015, 17:26
Профессор
Отправить личное сообщение для ТОТ_САМЫЙ Посмотреть профиль Найти все сообщения от ТОТ_САМЫЙ
 
Регистрация: 10.09.2015
Сообщений: 184

Сообщение от FINoM
А я сегодня утром бутер съел с томатным соком.
Это я ктому что берешь и форкаешь плагин и добавляешь кэширование, в чем проблема? КЭШ хранишь в замыкании модуля nodejs
Ответить с цитированием
  #7 (permalink)  
Старый 27.09.2015, 15:09
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

ТОТ_САМЫЙ, ты думаешь, что после того, что ты мне наговорил, я буду форкать твои проекты? Нет. И всех призываю даже не реагировать на твои разработки (хотя, я сомневаюсь, что кто-то хоть что-то использует из того, что ты сделал).
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #8 (permalink)  
Старый 27.09.2015, 20:44
Профессор
Отправить личное сообщение для ТОТ_САМЫЙ Посмотреть профиль Найти все сообщения от ТОТ_САМЫЙ
 
Регистрация: 10.09.2015
Сообщений: 184

FINoM, ага, особенно это https://www.npmjs.com/package/gulp-commonjs-wrapper
и это https://www.npmjs.com/package/gulp-svg-to-css


Не смотря на то что я не приемлю культурные рамки вроде "мат это плохо" или "Обзывать это плохо", ну или "Детям вреден секс", и считаю что ни мата ни обзываний не существует. То, что я талантливый программист, это факт... Относить хотя бы к этому обьективно.
Ответить с цитированием
  #9 (permalink)  
Старый 27.09.2015, 21:00
Аватар для FINoM
Новичок
Отправить личное сообщение для FINoM Посмотреть профиль Найти все сообщения от FINoM
 
Регистрация: 05.09.2010
Сообщений: 2,298

Сообщение от ТОТ_САМЫЙ
То, что я талантливый программист, это факт... Относить хотя бы к этому обьективно.
Когда я вижу обрыганного панка, я считаю его обрыганным панком, хотя он может считать себя гениальным музыкантом.

С тобой так же: за неадекватным поведением я не могу разглядеть твой талант. Я вижу обычного программиста с массой нерешенных психологических проблем.

А за ссылки спасибо. К треш-продуктам mail.ru, которые я бойкотирую, добавились и твои.
__________________
"Matreshka is fucking awesome" © чувак с Reddit
Matreshka.js - Три возможности
Ответить с цитированием
  #10 (permalink)  
Старый 27.09.2015, 21:04
Профессор
Отправить личное сообщение для ТОТ_САМЫЙ Посмотреть профиль Найти все сообщения от ТОТ_САМЫЙ
 
Регистрация: 10.09.2015
Сообщений: 184

Сообщение от FINoM
С тобой так же: за неадекватным поведением я не могу разглядеть твой талант. Я вижу обычного программиста с массой нерешенных психологических проблем.

А за ссылки спасибо. К треш-продуктам mail.ru, которые я бойкотирую, добавились и твои.

https://ru.wikipedia.org/wiki/Ad_hominem ничего необычного, быдло всегда предвзято и мыслит шаблонами
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как отправить файл через XMLHttpRequest как мультипарт KOLANICH Общие вопросы Javascript 17 14.12.2010 18:02
Как в ajax запросе передать файл методом POST mcpro jQuery 1 16.12.2009 10:41
Как сделать чтобы text() брал только текст родителя без текста вложенных контейнеров? Andrey32 jQuery 3 23.05.2009 00:33
Как получить файл с сервера AJlekceu AJAX и COMET 1 02.11.2008 12:41
JavaScript как файл закодировать base64? Трактор AJAX и COMET 3 10.06.2008 12:22