css sprite合并_html/css_WEB-ITnose
今天node.js发布了v4.0.0,兴高采烈地升了级,跑koa的时候再也不用node --harmony了,真是nice啊。
下午同事提了个css sprite的需求,要求写的时候是引用小图,发布的时候用工具合成大图,减少合并的工作量。fis3能做这个,果断用起。
npm install fis3 -g
fis3 release -d ./dist
duang!!!有警告,csssprite这个模块不支持最新版的node.js。
没关系,换个版本继续搞起,然后就ok了。
对比生成的图片和样式文件,图片合并了,样式文件也替换了,挺nice的。
我天真地以为事情到这就完了,过了一会发现项目跑不起来,文件引用变成了绝对路径。
对比文件发现fis3把background:url(../images)都替换成了background:url(/images),就是fis团队说的三种语言中的资源定位。
但是我要的只是雪碧图的功能啊,fis那一整套的解决方案我不需要,把路径都给替换了还怎么玩。
翻了fis3的api,没发现有去掉这个替换功能的,扒了源码也没发现有相关配置项。
想自己用gulp写个,把这功能抄过来。仔细看了源码,发现这模块深度依赖fis,还针对图片位置做了性能优化,好麻烦。
折腾了一番,决定对这流程再包装一次。
还是用fis3来生成雪碧图,完了gulp跑一遍,把css路径给改回来,顺便把css和雪碧图文件挪个位置,再把fis3生成的目录删了。
代码大致像这个样子:
gulp.task('sprite',function(){ return shell.task('fis3 release -d ./dist')();});gulp.task('replace',function(){ return gulp.src(['./dist/css/**/*']) .pipe(through.obj(function(file,enc,cb){ replaceImageUrl(); this.push(file); cb(); })) .pipe(gulp.dest('./css/'))});gulp.task('default',function(){ return sequence( 'sprite', 'replace', 'clean' )();})
折腾了一下午,记录一下。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

本文討論了HTML< Progress>元素,其目的,樣式和與< meter>元素。主要重點是使用< progress>為了完成任務和LT;儀表>對於stati

本文討論了html< datalist>元素,通過提供自動完整建議,改善用戶體驗並減少錯誤來增強表格。Character計數:159

本文討論了HTML< meter>元素,用於在一個範圍內顯示標量或分數值及其在Web開發中的常見應用。它區分了< meter>從< progress>和前

本文討論了使用HTML5表單驗證屬性,例如必需的,圖案,最小,最大和長度限制,以直接在瀏覽器中驗證用戶輸入。

本文討論了視口元標籤,這對於移動設備上的響應式Web設計至關重要。它解釋瞭如何正確使用確保最佳的內容縮放和用戶交互,而濫用可能會導致設計和可訪問性問題。

本文討論了< iframe>將外部內容嵌入網頁,其常見用途,安全風險以及諸如對象標籤和API等替代方案的目的。

GiteePages靜態網站部署失敗:404錯誤排查與解決在使用Gitee...
