我目前正在我的项目中使用yeoman来执行构建和脚手架等。当你使用yeoman构建时,它使用usemin为文件名添加哈希值以帮助缓存。我喜欢这个功能,因为有时我们会略微更改图像并希望它们在不等待缓存清除的情况下进行更新。
我遇到的问题是,其中一些图像文件也是从我们的数据库中引用的。例如,对于产品X,我们在数据库的图像字段中有productx.jpg。从数据库中获取此信息显然存在问题,因为productx.jpg现在称为30341d.productx.jpg。
有没有办法解决这个问题?可能与.htaccess文件有关?将 每次构建项目时我都要编写新的重写条件?这可能会令人讨厌甚至20-30甚至每周或每两周构建一次。
答案 0 :(得分:1)
你可以编辑你的gruntfile找到这个:
rev: {
js: 'scripts/**/*.js',
css: 'styles/**/*.css',
img: 'images/**'
},
并改为
img: ''
预先向yeoman添加版本前缀到图像文件夹内的图像文件。
但是,您还应该严格区分属于项目布局部分的图像数据和属于内容数据部分的数据。所有布局关键图像都应驻留在images /文件夹中,并且只能从css引用,或者在某些情况下从html模板引用(但不能从数据库引用)。您的内容数据文件位于单独的文件夹(或数据库或cdn)中,这些文件不会获得任何版本号。