是否有一种简单的方法可以将标题附加到symfony2的资产生成资产?

时间:2015-04-08 15:30:02

标签: symfony assetic

我正在使用gulpgulp-header以及一堆工具将我的scss和coffescript编译成css和js文件。我的gulpfile看起来像这样:

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中的assetic:dump)附加到我的js和css文件中生成{<1}}命令:

$ php app/console assetic:dump

我敢打赌,这可以使用custom assetic filters来完成。如果有人已经这样做了,那就太好了,否则,如果我有所收获,我会在这里发帖。

1 个答案:

答案 0 :(得分: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]