Мне нужны советы по улучшению автоматической минификации с помощью node и gulp.
Основная цель — динамически генерировать минифицированные файлы (для JS и LESS) в режиме разработки и автоматически заменять обычные файлы (js и меньше) на минифицированные файлы в производственном режиме.
Сценарий содержит:
- NodeJS и ExpressJS для маршрутизации и настройки среды
- Jade как шаблонизатор
- Gulp (выполнение задач)
Это моя установка:
ГУЛП
Я использую nodemon для запуска server.js, который запускает мой сервер node. В этом файле gulp у меня есть несколько задач (['watch']) для наблюдения за изменениями в файлах JS и LESS и минимизации их при каждом изменении.
gulp.task('nodemon', function () {
nodemon({ script: 'server.js'})
.on('start', ['watch'])
.on('change', ['watch'])
})
УЗЕЛ
На сервере узла я визуализирую инъекцию представлений и объект, который обнаруживает режим разработки или производства.
var env= process.env.NODE_ENV = process.env.NODE_ENV || 'development';
app.get('/', function(req, res){
res.render('index', {environment: env});
});
ДЖЕЙД
В представлении внедренный объект сравнивается, чтобы добавить обычные файлы CSS и JS для режима разработки или мини-файлы для режима производства.
if environment == "development"
link(rel='stylesheet', href='/vendor/bootstrap/dist/css/bootstrap.css')
else
link(rel='stylesheet', href='/vendor/bootstrap/dist/css/bootstrap.min.css')
Это правильный способ сделать это? Должен ли я проверить другие варианты? Я хочу избежать ручной минимизации перед отправкой приложения на сервер каждый раз. Все советы будут приняты для того, чтобы улучшить это.
Лучше делать минификацию при запуске сервера gulp? Как я могу сделать это с помощью Azure?
Спасибо.