2016-03-04 3 views
4

Я работаю над проектом с Symfony2 и, по-видимому, использует Assetic для управления css и js.Есть ли способ автоматизировать миграционную форму Assetic to gulp?

Я использую задачи gulp/grant, но не с Symfony, я попытался найти систематический (или автоматический) способ извлечения файлов активов, которые я использую в своих шаблонах, группировать их и заменять ассетные блоки в веточке с помощью подходящую альтернативу.

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

Любое предложение о том, с чего начать?

ответ

2

Я перешел из Assetic в gulp, но это не автоматический процесс.

В моем случае мне пришлось изменить всю архитектуру переднего плана, используя шаблон 7--1. Также я создал gulpfile в корне проекта Symfony. Вы можете создать это в каком-то пакете в папке Resources.

Предполагая, что вы не хотите, чтобы изменить расположение файлов, я рекомендую вам следить за этим шаги:

  • Создать package.json работает НАЯ инициализация
  • Установите глотку, browserify и все ваши необходимое пакеты.
  • Переместите все ваши файлы css/scss в папку app/Resources. Лучше всего иметь свои активы там. Например, вы можете создать папку app/Resources/styles для своих стилей и app/Resources/scripts для ваших скриптов.
  • Создайте gulpfile.js в корневом каталоге или в папке Ресурсы некоторого пакета.
  • Добавить задачи для компиляции файлов 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 задача компилирует все ваши яваскрипта модулей, написанных на ES6 с browserity, конечно.

Наконец, вы можете добавить задачи для просмотра, но это не связано с вопросом.

Надеюсь, это поможет.

С уважением.

+0

Благодарим вас за ответ @Mario. Является ли размещение активов в приложении/ресурсах по-прежнему лучшей практикой даже в проекте с несколькими пространствами имен и пакетами? –

+1

Я признаю, что я не сторонний разработчик, но мои товарищи по команде рассказали мне об этой лучшей практике. Также вы можете разместить свои шаблоны в этой папке. http://symfony.com/doc/current/best_practices/templates.html –

+0

Основная проблема, которую я пытаюсь решить, - это способ извлечь текущие пути ресурсов, используемые в шаблонах, и повторно включить правильные пути, выполняемые бегунком задач , Это тоже может быть проблемой с глотком. Но я не вижу, как начать –

Смежные вопросы