fis3 是什麼?能做什麼?
fis3 是面向前端的工程構建工具。解決前端工程中效能優化、資源載入(非同步、同步、按需、預載入、依賴管理、合併、內嵌)、模組化開發、自動化工具、開發規範、**部署等問題。
1、安裝:
fis3是基於node和npm的構建工具,需要安裝node,沒安裝node的請自行安裝。
這裡是參考fis官網簡單說說windows如何安裝和使用,
開啟cmd輸入命令:npm install -g fis3
注:如果npm等待時間過長建議使用**映象cnpm,等同於npm.
輸入以上命令等待安裝完成之後再輸入:fis3 -v
如果看到如下圖說明安裝成功:
2、使用:
fis3不像grunt、gulp使用時候很多外掛程式還要配置,因為fis3很多已經內建,只需要配置下乙個必須檔案:fis-conf.js即可。
a:檔案指紋,檔案指紋,唯一標識乙個檔案。在開啟強快取的情況下,如果檔案的 url 不發生變化,無法重新整理瀏覽器快取。一般都需要通過一些手段來強刷快取,一種方式是新增時間戳,每次上線更新檔案,給這個資源檔案的 url 新增上時間戳。
而 fis3 選擇的是新增 md5 戳,直接修改檔案的 url,而不是在其後新增query
。如下
b:csssprite合併,
壓縮了靜態資源,我們還可以對進行合併,來減少請求數量。
fis3 提供了比較簡易、使用方便的合併工具。通過配置即可呼叫此工具並對資源進行合併。
fis3 構建會對 css 中,路徑帶?__sprite
的進行合併。為了節省編譯的時間,分配到usesprite: true
的 css 檔案才會被處理配置如下。
c:資源壓縮,為了減少資源網路傳輸的大小,通過壓縮器對 js、css、進行壓縮是一直以來前端工程優化的選擇。在 fis3 中這個過程非常簡單,通過給檔案配置壓縮器即可。配置如下
最後這個完整的fis-conf.js的配置如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//1、檔案指紋,而 fis3 選擇的是新增 md5 戳,
// 直接修改檔案的 url,而不是在其後新增 query。
fis.match(
'*.'
, );
//2、csssprite合併
//fis3 提供了比較簡易、使用方便的合併工具。
// 通過配置即可呼叫此工具並對資源進行合併。
// 啟用 fis-spriter-csssprites 外掛程式
fis.match(
'::package'
, )
// 對 css 進行合併
fis.match(
'*.css'
, );
//3、壓縮資源
//為了減少資源網路傳輸的大小,
// 通過壓縮器對 js、css、進行壓縮是一直以來前端工程優化的選擇。
// 在 fis3 中這個過程非常簡單,通過給檔案配置壓縮器即可。
// 清除其他配置,只保留如下配置
此時再看看build目錄下的檔案如下圖:
仔細看有md5戳,檔案都是壓縮後的,自動生成雪碧圖(此例子是模仿fis3官網的乙個例子,如有誤請指出~)。
fis2 入門 fis3使用
api v2.0 api 3.0 f 1.使用 fis 只需要三條命令 fis server h 檢視幫助 fis server strart 開啟服務 fis server open 檢視fis的根目錄 fis release 進行編譯並且傳送檔案到指定的目錄 預設的是無服務www目錄,會自動將當...
fis3 使用心得
因為專案原因,公司的框架選擇是fis3,因此我就接觸了下fis3這個東西。樓主沒用過webpack,gulp和grunt也不熟,fis3做為自己第乙個使用的打包工具,感覺真tm好用。本文主要就介紹一下對於fis3的使用心得 非常非常淺顯,僅限於個人粗淺理解,偏近應用。入門可以,深入不一定好 啥是fi...
FIS3工作原理
fis3基於檔案物件進行構建,每個進入fis3的檔案都會例項化成乙個file物件。其構建流程大概分為三個階段 1.掃瞄專案目錄拿到檔案並初始化出乙個檔案物件的列表 掃瞄 2.對檔案物件中每乙個檔案進行單檔案編譯 編譯 3.獲取使用者設定的package外掛程式,進行打包處理 包括合併 打包 打包階段...