FIS前端"腳手架"嘗試

FIS官方頁面

百度出品,說是能夠解決前端開發(fā)過程中遇到的很多麻煩的事情,讓重復(fù)的工作變簡單.感覺上是一個整合的開發(fā)環(huán)境,具體等試了再說

 由于本文類似總結(jié)筆記 內(nèi)容趨向言簡意賅,方便日后快速翻查,要詳細資料請看最上面的官方手冊

介紹

FIS3 , 為你定制的前端工程構(gòu)建工具
解決前端開發(fā)中自動化工具蜕青、性能優(yōu)化荷荤、模塊化框架腥沽、開發(fā)規(guī)范儒溉、代碼部署、開發(fā)流程等問題

安裝

需要有nodejs https://nodejs.org

npm install -g fis3

很僵硬,我的node是最新7.3.0,而官方?jīng)]有支持,查看支持的地址
命令行的卸載失敗了,可能由于我是windows nodejs也是安裝包安裝的,所以還是老老實實去控制面板卸載吧,然后下了一個長期支持版本6.9.4的nodejs

下了半天沒下載下來,最后還是用cnpm下載的

npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install -g fis3
安裝成功

升級

npm update -g fis3

重裝

npm install -g fis3

功能點

1.資源定位能力
使用fis3 release -d ./output命令構(gòu)建的項目會自動生成對應(yīng)的絕對路徑,開發(fā)過程中只需要寫相對路徑

需要注意的是,在網(wǎng)頁中的絕對路徑是相對于文件根目錄對應(yīng)到網(wǎng)站域名,如果項目不在根目錄下 這個發(fā)布出來的絕對路徑反而會出問題

修改fis-conf.js 文件可以修改對應(yīng)文件架構(gòu)后存放的位置,哪怕一開始亂放,最后也會合并到一個文件夾下,保留原目錄結(jié)構(gòu)
js如果有用到地址修改,就爆炸了

fis.match('*.{png,js,css}', {
    release: '/static/$0'
});

2.css js發(fā)布時壓縮

// 清除其他配置凯正,只保留如下配置
fis.match('*.js', {
    // fis-optimizer-uglify-js 插件進行壓縮宝鼓,已內(nèi)置
    optimizer: fis.plugin('uglify-js')
});

fis.match('*.css', {
    // fis-optimizer-clean-css 插件進行壓縮轩性,已內(nèi)置
    optimizer: fis.plugin('clean-css')
});

fis.match('*.png', {
    // fis-optimizer-png-compressor 插件進行壓縮,已內(nèi)置
    optimizer: fis.plugin('png-compressor')
});

3.文件資源添加指紋,對 js格遭、css、png 圖片引用 URL 添加 md5 戳

特別說明,如果js中切換圖片 最好不要用這個

fis.match('*.{js,css,png}', {
    useHash: true
});

4.雪碧圖 CssSprite圖片合并
以前雪碧圖都是自己ps合并 現(xiàn)在不用了...自動合成圖片并修改對應(yīng)css,不過需要注意 需要處理的圖片 后面要加上"?__sprite". 詳細配置
如:

li.list-1::before { background-image: url('./img/list-1.png?__sprite');}
// 啟用 fis-spriter-csssprites 插件
fis.match('::package', {
    spriter: fis.plugin('csssprites')
})

// 對 CSS 進行圖片合并
fis.match('*.css', {
    // 給匹配到的文件分配屬性 `useSprite`
    useSprite: true
});

5.整合版本
我們學(xué)習(xí)了如何用 FIS3 做壓縮留瞳、文件指紋拒迅、圖片合并、資源定位她倘,現(xiàn)在把這些功能組合起來璧微,配置文件如下;

// 加 md5
fis.match('*.{js,css,png}', {
    useHash: true
});

// 啟用 fis-spriter-csssprites 插件
fis.match('::package', {
    spriter: fis.plugin('csssprites')
});

// 對 CSS 進行圖片合并
fis.match('*.css', {
    // 給匹配到的文件分配屬性 `useSprite`
    useSprite: true
});

fis.match('*.js', {
    // fis-optimizer-uglify-js 插件進行壓縮硬梁,已內(nèi)置
    optimizer: fis.plugin('uglify-js')
});

fis.match('*.css', {
    // fis-optimizer-clean-css 插件進行壓縮前硫,已內(nèi)置
    optimizer: fis.plugin('clean-css')
});

fis.match('*.png', {
    // fis-optimizer-png-compressor 插件進行壓縮,已內(nèi)置
    optimizer: fis.plugin('png-compressor')
});

fis.media('debug').match('*.{js,css,png}', {
    useHash: false,
    useSprite: false,
    optimizer: null
})

發(fā)布的時候用,不壓縮:
fis3 release -d ../output

開發(fā)的時候用下面的荧止;
fis3 release debug -d ../output

調(diào)試

1.打開www目錄

fis3 server open

2.發(fā)布

fis3 release debug

3.啟動

fis3 server start

4.修改端口號

fis3 server -h

5.文件監(jiān)聽

fis3 release -w

6.常用,修改了文件以后,調(diào)試服務(wù)器的文件也會相應(yīng)修改并自動刷新瀏覽器

fis3 release -wL

7.LESS使用
安裝插件,推薦用cnpm

npm install -g fis-parser-less

修改配置js,加入

fis.match('*.less', {
  // fis-parser-less 插件進行解析
  parser: fis.plugin('less'),
  // .less 文件后綴構(gòu)建后被改成 .css 文件
  rExt: '.css'
})

8.html 壓縮
安裝插件

cnpm install -g fis-optimizer-html-compress

修改配置文件

fis.match('*.html', {
  optimizer: fis.plugin('html-compress')
})

問題

1.如果給圖片添加md5 戳 那每次發(fā)布 舊的文件不會被覆蓋 豈不是每次要刪除,再發(fā)布?
2.同樣是md5戳的問題,加了以后 我的js如果切換圖片 就失效了
3.為什么有的圖片加了md5戳 而有的圖片沒有?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末屹电,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子跃巡,更是在濱河造成了極大的恐慌危号,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件素邪,死亡現(xiàn)場離奇詭異外莲,居然都是意外死亡,警方通過查閱死者的電腦和手機兔朦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進店門偷线,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人沽甥,你說我怎么就攤上這事声邦。” “怎么了摆舟?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵翔忽,是天一觀的道長。 經(jīng)常有香客問我盏檐,道長歇式,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任胡野,我火速辦了婚禮材失,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘硫豆。我一直安慰自己龙巨,他們只是感情好笼呆,可當(dāng)我...
    茶點故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著旨别,像睡著了一般诗赌。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上秸弛,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天铭若,我揣著相機與錄音,去河邊找鬼递览。 笑死叼屠,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的绞铃。 我是一名探鬼主播镜雨,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼儿捧!你這毒婦竟也來了荚坞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤菲盾,失蹤者是張志新(化名)和其女友劉穎西剥,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體亿汞,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡瞭空,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了疗我。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片咆畏。...
    茶點故事閱讀 39,779評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖吴裤,靈堂內(nèi)的尸體忽然破棺而出旧找,到底是詐尸還是另有隱情,我是刑警寧澤麦牺,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布钮蛛,位于F島的核電站,受9級特大地震影響剖膳,放射性物質(zhì)發(fā)生泄漏魏颓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一吱晒、第九天 我趴在偏房一處隱蔽的房頂上張望甸饱。 院中可真熱鬧,春花似錦、人聲如沸叹话。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽驼壶。三九已至氏豌,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間热凹,已是汗流浹背泵喘。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留碌嘀,地道東北人。 一個月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓歪架,卻偏偏與公主長得像股冗,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子和蚪,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,098評論 25 707
  • 在現(xiàn)在的前端開發(fā)中止状,前后端分離、模塊化開發(fā)攒霹、版本控制怯疤、文件合并與壓縮、mock數(shù)據(jù)等等一些原本后端的思想開始...
    Charlot閱讀 5,439評論 1 32
  • lesson-1主要內(nèi)容:構(gòu)建一套適合 React催束、ES6 開發(fā)的腳手架 項目地址 github-react-le...
    曾田生閱讀 5,820評論 0 10
  • 有魅力的男人閱讀 136評論 0 0
  • 我不是真相思之即得的賢人集峦,我不是天生的嬌子凿宾,我不是被選中的孩子将硝,我同樣作為一顆葦草,甚至不能冒出我的草尖斥杜,當(dāng)狂風(fēng)吹...
    實點撇橫折閱讀 262評論 0 0