我正在使用gulp和gulp-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来完成。如果有人已经这样做了,那就太好了,否则,如果我有所收获,我会在这里发帖。
答案 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]