2015-04-08 2 views
1

Я использовал gulp с gulp-header и кучу инструментов для компиляции моих scss и coffescript в css и js-файлы. Моя gulpfile выглядит примерно так:Есть ли простой способ добавить заголовок в создаваемые активы symfony2?

gulp = require('gulp') 
pkg = require('./package.json') 
plugins = require('gulp-load-plugins')() 

#... 

banner = [ 
    '/**' 
    ' * ' + pkg.name + ' - ' + pkg.description 
    ' * @version v' + pkg.version 
    ' * @link ' + pkg.homepage 
    ' * @license ' + pkg.license + ' ' + new Date().getFullYear() 
    ' * @generated ' + new Date() 
    ' */' 
    '' 
].join('\n') 

gulp.task 'sass', -> 
    gulp.src(css_dir + '**/*.scss') 
    .pipe(plugins.sourcemaps.init()) 
    .pipe(plugins.sass 
     style: 'compressed' 
    ) 
    .on 'error', plugins.util.log 
    .pipe(plugins.header(banner)) 
    .pipe(gulp.dest(css_dir)) 
    .pipe(plugins.sourcemaps.write()) 
    .pipe plugins.notify('Scss compiling done!') 
    return 

#... (same goes for coffeescript) 

я хотел бы сделать то же самое с помощью Symfony2's asset management (assetic).

assetic: 
    debug:   "%kernel.debug%" 
    use_controller: false 
    bundles:  [ AcmeDemoBundle ] 
    #java: /usr/bin/java 
    filters: 
     cssrewrite: ~ 
     sass: ~ 
     coffee: 
      bin: /usr/local/bin/coffee 
      node: /usr/local/bin/node 

Я хотел бы иметь пользовательский комментарий заголовок (см banner из примера gulpfile), который будет добавлен к моему JS и CSS файлов, генерируемых assetic при запуске assetic:dump команду:

$ php app/console assetic:dump 

Держу пари это можно сделать, используя custom assetic filters. Если кто-то уже сделал это, было бы здорово, иначе я отправлюсь сюда, если у меня что-то получится.

ответ

0

Я сделал это с помощью правил на сервере приложений (Apache, Nginx ...) сгенерированные активы являются только файлы, и они подаются непосредственно в документации на файл .htaccess говорит

# If the requested filename exists, simply serve it. 
# We only want to let Apache serve files and not directories. 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule .? - [L]