Есть ли способ автоматизировать миграцию из Assetic в gulp?
Я работаю над проектом с Symfony2, и он использует Assetic для управления css и js.
Я привык выполнять / разрешать задачи, но не с Symfony, я пытался найти систематический (или автоматический) способ извлечения файлов ресурсов, которые я использую в своих шаблонах, сгруппировать их и заменить сборочные блоки в ветке соответствующей альтернативой.
Я уверен, что такой инструмент поможет спасти жизнь и поможет перенести старый проект из Assetic в современный исполнитель задач, поскольку он слишком ограничен.
Любое предложение о том, с чего начать?
1 ответ
Я перешел с Assetic на gulp, но это не автоматизированный процесс.
В моем случае мне пришлось изменить всю архитектуру интерфейса, используя шаблон 7-1. Также я создал gulpfile в корне проекта Symfony. Вы можете создать это в некотором пакете, в Resources
папка.
Предполагая, что вы не хотите менять расположение файлов, я рекомендую вам выполнить следующие действия:
- Создать
package.json
запуск npm init - Установите gulp, browserify и все необходимые пакеты.
- Переместите все свои файлы CSS / SCSS в
app/Resources
папка. Лучше всего иметь там свои активы. Например, вы можете создатьapp/Resources/styles
папка для ваших стилей иapp/Resources/scripts
для ваших сценариев. - Создайте gulpfile.js в корне или в папке Resources какого-либо пакета.
Добавьте задачи для компиляции файлов scss и js в одном.
gulp.task('sass', function() { return gulp.src('app/Resources/styles/main.scss') .pipe($.sass()) .pipe(gulp.dest('web/css/')) }); gulp.task('browserify', function() { return browserify('app/Resources/scripts/main.js') .transform("babelify", {presets: ["es2015"]}) .bundle() .pipe(source('main.js')) .pipe(gulp.dest('web/js')) });
browserify
Задача, конечно же, компилирует все ваши javascript-модули, написанные на ES6, с помощью браузера.
Наконец, вы можете добавить задачи для просмотра, но это не связано с вопросом.