我设置了大量任务,可以同时对资产进行压缩、缩小和指纹识别,并将它们直接写入我的资产文件夹:
(the CSS部分)
gulp.task('styles:cssmin', function(){
return gulp.src('src/css/*.css')
.pipe(concat('main.css')) // combine them
.pipe(cssmin()) // minify them
.pipe(rev()) // Pipe through gulp-rev to fingerprint generated file
.pipe(gulp.dest('assets/css')) // write rev'd assets
.pipe(rev.manifest({
merge: true // Merge because this happens for .js and images too
}))
.pipe(gulp.dest('./')); // write manifest
});
这将为文件提取指纹并生成清单,但我无法获取任何保存到清单文件的路径。下面是它生成的清单:
{
"bg.jpg": "bg-447ac2238b.jpg",
"logo.png": "logo-e31e139d4d.png",
"main-min.js": "main-min-cc3a682299.js",
"main.css": "main-ea0d06582f.css",
"main.js": "main-35ec0bb3c8.js"
}
我想把它写成:
{
"assets/img/bg.jpg": "assets/img/bg-447ac2238b.jpg",
"assets/img/logo.png": "assets/img/logo-e31e139d4d.png",
"assets/js/main-min.js": "assets/js/main-min-cc3a682299.js",
"assets/css/main.css": "assets/css/main-ea0d06582f.css",
"assets/jsg/main.js": "assets/js/main-35ec0bb3c8.js"
}
特别是考虑到文档给予了一个包含相对路径的示例
3条答案
按热度按时间zpqajqem1#
我遇到了同样的问题,最后将流中的资产目录重命名为我想要的名称,并指定rev-manifest的路径。
jslywgbw2#
我最后不得不编辑源代码。注解在那里,对不起,我不能突出显示它。
不是一个理想的解决方案,将打破更新。我会喜欢它,如果有一个更好的方法。
ftf50wuq3#
正确的答案是旧的。但我仍然从中得出。对于新版本的插件,它必须略有不同。顺便说一句,我在Symfony v6中使用它。
我的依赖项: