15.12.2013, 14:04
|
Аспирант
|
|
Регистрация: 25.07.2011
Сообщений: 45
|
|
Обфускация javascript кода на проекте
Всем добрый день!
Искал информацию, как автоматизировать процесс формирования обфусцированного css и js кода, но что-то ничего не нашел.
Понятно, что есть online инструменты для формирования обфусцированного js и css кода. Но руками это делать после каждого изменения не хочется.
Сейчас есть проект написанный на php (Yii), и js (jQuery). В js файле есть комментарии, отступы, которые понятное дело, при обфускации надо удалить.
Сейчас я вижу 3 решения:
1) Каждый раз когда пользователь запрашивает страницу - дергать обфускатор (но этот вариант как-то не очень, даже с настроенным кешированием);
2) Дергать обфускатор перед каждым коммитом, тут еще один вопрос, должен ли обфусцированный код лежать под репой?;
3) Дергать обфускатор при выставлении нового билда.
Как правильно настроить (куда копать), что бы в продакшене брался обфусцированный код, а при разработке - нормальный.
Подскажите пожалуйста, какие есть готовые решения для этого, лучшие практики? Как правильней это делать?
Аналогичные вопросы и с CSS.
Спасибо!
|
|
15.12.2013, 14:22
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
|
|
15.12.2013, 14:35
|
Аспирант
|
|
Регистрация: 25.07.2011
Сообщений: 45
|
|
Спасибо, хороший инструмент.
|
|
15.12.2013, 15:25
|
Аспирант
|
|
Регистрация: 25.07.2011
Сообщений: 45
|
|
Подскажите, а с помощью grunt watch я так понял можно на продакшене и на тестовом подключать уже обфусцированные файлы, а при изменении не обфусцированного кода на проекте, в момент разработки, он автоматически обновит обфусцированный файл? Только в таком случае надо что бы grunt был и на машине разработчика и на тестовой машине?
Не будет ли проблем с тем, что бы держать постоянно запущенный процесс, отслеживания измененных файлов в продакшене, особенно если проект высоконагржунный? Или лучше не использовать его для продакшена?
Последний раз редактировалось shkarbatov, 15.12.2013 в 15:32.
|
|
15.12.2013, 20:50
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Сообщение от shkarbatov
|
Подскажите, а с помощью grunt watch я так понял можно на продакшене и на тестовом подключать уже обфусцированные файлы, а при изменении не обфусцированного кода на проекте, в момент разработки, он автоматически обновит обфусцированный файл? Только в таком случае надо что бы grunt был и на машине разработчика и на тестовой машине?
Не будет ли проблем с тем, что бы держать постоянно запущенный процесс, отслеживания измененных файлов в продакшене, особенно если проект высоконагржунный? Или лучше не использовать его для продакшена?
|
В продакшене лучше так не делать, да и зачем (ведь обычно при выкладке на продакшен проект собирается один раз и живёт так до следующего релиза) ? А вот в девелоперском режиме, то сам Бог велел
|
|
15.12.2013, 22:35
|
Аспирант
|
|
Регистрация: 25.07.2011
Сообщений: 45
|
|
В таком случае минифицированный файл должен лежать под репой. Что бы на продакшен выложить по git pull, но тогда grunt должен быть только на машинах разработчиков, а не хочется разворачивать его на всех машинах.
Есть вариант вынести его из под репы и на предрелизном настроить автоматическую работу grunt при смене кода, но тут опять таки, по git pull, не обновишь на продакшене и надо будет руками заменять одно на другое.
А хотелось бы какой то автоматизированный вариант.
Либо просто писать bash скрипт, который бы все это делал сам.
|
|
16.12.2013, 10:47
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
У меня сделано так: продакш синхронизируется с master веткой git, т.е. когда я делаю git push в master, то проект автоматом подсасывает изменения и пересобирается (т.е. grunt также стоит и на продакшене, но включается только при пересборке проекта). Правда у меня проект на node.js, т.е. запуск Grunt дело тривиальное, а тебе придётся для этого сначала установить на сервер node.js.
Последний раз редактировалось kobezzza, 16.12.2013 в 10:50.
|
|
16.12.2013, 21:03
|
Аспирант
|
|
Регистрация: 25.07.2011
Сообщений: 45
|
|
Понятно, спасибо!
Можно ли как-то настроить Grunt, что бы он отрабатывал при обновлении проекта, то есть когда мы на продакшене делаем git pull, если да, то можно какой-нить пример или ссылку на доку.
Последний раз редактировалось shkarbatov, 16.12.2013 в 21:14.
|
|
17.12.2013, 18:49
|
|
Быдлокодер;)
|
|
Регистрация: 19.11.2010
Сообщений: 4,338
|
|
Вот это хз, но ведь можно в самом гите повесить макрос на git pull, чтобы при вызове git pull делался git pull && grunt
|
|
29.11.2014, 00:33
|
Новичок на форуме
|
|
Регистрация: 29.11.2014
Сообщений: 1
|
|
удалить информацию javascript
Всем Доброго Время Суток,Подскажите Пожалуйста,Как можно удалить javascript ,когда сайт уже есть
|
|
|
|