所以我一直在使用yeoman.io爲我的項目,我有我的圖片一組文件夾結構。但是當我構建它時會更改我的文件的文件名。防止yeoman.io從涅槃圖像
我甚至用:
$ yeoman build:text
,因爲我只想再壓縮我的CSS,JS和HTML模板,但它仍然minifies圖像。 不知道如果我做錯了什麼。
編輯:
我註釋掉了IMG的所有實例gruntfile而且似乎工作,但我不認爲這就是正確的方式。
所以我一直在使用yeoman.io爲我的項目,我有我的圖片一組文件夾結構。但是當我構建它時會更改我的文件的文件名。防止yeoman.io從涅槃圖像
我甚至用:
$ yeoman build:text
,因爲我只想再壓縮我的CSS,JS和HTML模板,但它仍然minifies圖像。 不知道如果我做錯了什麼。
編輯:
我註釋掉了IMG的所有實例gruntfile而且似乎工作,但我不認爲這就是正確的方式。
你的意思是圖像優化或revisioning?根據自己的需要配置GruntFile.js沒有問題。它使Yeoman/Grunt非常強大,因爲它具有很強的適應性。
如果您不想要圖像優化,請刪除img
任務中的配置。
// Optimizes JPGs and PNGs (with jpegtran & optipng)
img: {
},
如果你不想圖像文件的重命名,從rev
任務刪除img
行:
// renames JS/CSS to prepend a hash of their contents for easier
// versioning
rev: {
js: 'scripts/**/*.js',
css: 'styles/**/*.css'
},
如果刪除圖像轉速會破壞你的緩存,你應該儘量保持改變並更新你的JS文件。
嘗試更新usemin
塊是這樣的:
usemin: {
html: ['<%= yeoman.dist %>/{,*/}*.html'],
css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
js: '<%= yeoman.dist %>/scripts/{,*/}*.js',
options: {
assetsDirs: [
'<%= yeoman.dist %>',
'<%= yeoman.dist %>/images',
'<%= yeoman.dist %>/styles'
],
patterns: {
js: [
[/(images\/.*?\.(?:gif|jpeg|jpg|png|webp|svg))/gm, 'Update the JS to reference our revved images']
]
}
}
}
您應該已經usemin
方法,只需添加js
屬性與你的js路徑正則表達式,並添加pattern
屬性。 這將替換圖像中出現的所有的JS文件與新版本的加速運轉,從而使客戶的瀏覽器不使用緩存的圖像,而不是一個新的。
非常感謝,我一直試圖禁用「rev」任務而不理解它是優化還是其他內容的一部分。它的用途究竟是什麼? –
@AhmadAlfy:這是一個緩存破壞者。當你想更新你的網站時,你需要確保瀏覽器沒有使用舊版本的資源(html,js,image,...)。確保這一點的最好方法是爲資源文件添加一個隨機哈希,因此它總是唯一的。 – asgoth