Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 15.12.2013, 14:04
Аспирант
Отправить личное сообщение для shkarbatov Посмотреть профиль Найти все сообщения от shkarbatov
 
Регистрация: 25.07.2011
Сообщений: 45

Обфускация javascript кода на проекте
Всем добрый день!

Искал информацию, как автоматизировать процесс формирования обфусцированного css и js кода, но что-то ничего не нашел.

Понятно, что есть online инструменты для формирования обфусцированного js и css кода. Но руками это делать после каждого изменения не хочется.

Сейчас есть проект написанный на php (Yii), и js (jQuery). В js файле есть комментарии, отступы, которые понятное дело, при обфускации надо удалить.

Сейчас я вижу 3 решения:
1) Каждый раз когда пользователь запрашивает страницу - дергать обфускатор (но этот вариант как-то не очень, даже с настроенным кешированием);
2) Дергать обфускатор перед каждым коммитом, тут еще один вопрос, должен ли обфусцированный код лежать под репой?;
3) Дергать обфускатор при выставлении нового билда.

Как правильно настроить (куда копать), что бы в продакшене брался обфусцированный код, а при разработке - нормальный.

Подскажите пожалуйста, какие есть готовые решения для этого, лучшие практики? Как правильней это делать?

Аналогичные вопросы и с CSS.

Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 15.12.2013, 14:22
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

http://gruntjs.com/
__________________
kobezzza
code monkey
Ответить с цитированием
  #3 (permalink)  
Старый 15.12.2013, 14:35
Аспирант
Отправить личное сообщение для shkarbatov Посмотреть профиль Найти все сообщения от shkarbatov
 
Регистрация: 25.07.2011
Сообщений: 45

Спасибо, хороший инструмент.
Ответить с цитированием
  #4 (permalink)  
Старый 15.12.2013, 15:25
Аспирант
Отправить личное сообщение для shkarbatov Посмотреть профиль Найти все сообщения от shkarbatov
 
Регистрация: 25.07.2011
Сообщений: 45

Подскажите, а с помощью grunt watch я так понял можно на продакшене и на тестовом подключать уже обфусцированные файлы, а при изменении не обфусцированного кода на проекте, в момент разработки, он автоматически обновит обфусцированный файл? Только в таком случае надо что бы grunt был и на машине разработчика и на тестовой машине?

Не будет ли проблем с тем, что бы держать постоянно запущенный процесс, отслеживания измененных файлов в продакшене, особенно если проект высоконагржунный? Или лучше не использовать его для продакшена?

Последний раз редактировалось shkarbatov, 15.12.2013 в 15:32.
Ответить с цитированием
  #5 (permalink)  
Старый 15.12.2013, 20:50
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от shkarbatov Посмотреть сообщение
Подскажите, а с помощью grunt watch я так понял можно на продакшене и на тестовом подключать уже обфусцированные файлы, а при изменении не обфусцированного кода на проекте, в момент разработки, он автоматически обновит обфусцированный файл? Только в таком случае надо что бы grunt был и на машине разработчика и на тестовой машине?

Не будет ли проблем с тем, что бы держать постоянно запущенный процесс, отслеживания измененных файлов в продакшене, особенно если проект высоконагржунный? Или лучше не использовать его для продакшена?
В продакшене лучше так не делать, да и зачем (ведь обычно при выкладке на продакшен проект собирается один раз и живёт так до следующего релиза) ? А вот в девелоперском режиме, то сам Бог велел
__________________
kobezzza
code monkey
Ответить с цитированием
  #6 (permalink)  
Старый 15.12.2013, 22:35
Аспирант
Отправить личное сообщение для shkarbatov Посмотреть профиль Найти все сообщения от shkarbatov
 
Регистрация: 25.07.2011
Сообщений: 45

В таком случае минифицированный файл должен лежать под репой. Что бы на продакшен выложить по git pull, но тогда grunt должен быть только на машинах разработчиков, а не хочется разворачивать его на всех машинах.

Есть вариант вынести его из под репы и на предрелизном настроить автоматическую работу grunt при смене кода, но тут опять таки, по git pull, не обновишь на продакшене и надо будет руками заменять одно на другое.

А хотелось бы какой то автоматизированный вариант.
Либо просто писать bash скрипт, который бы все это делал сам.
Ответить с цитированием
  #7 (permalink)  
Старый 16.12.2013, 10:47
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

У меня сделано так: продакш синхронизируется с master веткой git, т.е. когда я делаю git push в master, то проект автоматом подсасывает изменения и пересобирается (т.е. grunt также стоит и на продакшене, но включается только при пересборке проекта). Правда у меня проект на node.js, т.е. запуск Grunt дело тривиальное, а тебе придётся для этого сначала установить на сервер node.js.
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 16.12.2013 в 10:50.
Ответить с цитированием
  #8 (permalink)  
Старый 16.12.2013, 21:03
Аспирант
Отправить личное сообщение для shkarbatov Посмотреть профиль Найти все сообщения от shkarbatov
 
Регистрация: 25.07.2011
Сообщений: 45

Понятно, спасибо!

Можно ли как-то настроить Grunt, что бы он отрабатывал при обновлении проекта, то есть когда мы на продакшене делаем git pull, если да, то можно какой-нить пример или ссылку на доку.

Последний раз редактировалось shkarbatov, 16.12.2013 в 21:14.
Ответить с цитированием
  #9 (permalink)  
Старый 17.12.2013, 18:49
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Вот это хз, но ведь можно в самом гите повесить макрос на git pull, чтобы при вызове git pull делался git pull && grunt
__________________
kobezzza
code monkey
Ответить с цитированием
  #10 (permalink)  
Старый 29.11.2014, 00:33
Новичок на форуме
Отправить личное сообщение для skynet12345 Посмотреть профиль Найти все сообщения от skynet12345
 
Регистрация: 29.11.2014
Сообщений: 1

удалить информацию javascript
Всем Доброго Время Суток,Подскажите Пожалуйста,Как можно удалить javascript ,когда сайт уже есть
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрыть из исходного кода часть javascript кода. javasc Javascript под браузер 10 12.03.2014 09:32
Помогите со структурой кода в проекте andreys75 Общие вопросы Javascript 0 16.05.2013 13:41
Интерпретатор Java на JS kobezzza Оффтопик 24 11.10.2012 18:32
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34