2015-04-08 37 views
1

我使用gulpgulp-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 

我想有一个自定义的注释头(请参阅例如gulpfile banner)追加到由assetic产生我的JS和CSS文件当我运行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]