FIS簡(jiǎn)介
FIS 是面向前端的工程構(gòu)建工具稀余,解決前端工程中性能優(yōu)化悦冀、資源加載(異步、同步睛琳、按需盒蟆、預(yù)加載、依賴(lài)管理师骗、合并历等、內(nèi)嵌)、模塊化開(kāi)發(fā)辟癌、自動(dòng)化工具寒屯、開(kāi)發(fā)規(guī)范、代碼部署等問(wèn)題
FIS是基于NodeJS技術(shù)的基礎(chǔ)上提供的前端工程構(gòu)建工具黍少,F(xiàn)IS是基于文件對(duì)象進(jìn)行構(gòu)建的浩螺,每個(gè)進(jìn)入FIS的文件都會(huì)實(shí)例化一個(gè)File對(duì)象,整個(gè)構(gòu)建過(guò)都對(duì)這個(gè)對(duì)象進(jìn)行操作完成構(gòu)建任務(wù)仍侥。
FIS 與 FIS-PLUS的淵源
FIS vs FIS+
FIS和FIS+的概念混淆在產(chǎn)生之初就產(chǎn)生了要出,剛來(lái)的新同學(xué)在第一次使用FIS機(jī)會(huì)問(wèn)“FIS和FIS+”有什么區(qū)別,鑒于此农渊,我查了些資料患蹂,簡(jiǎn)單描述下歷史和區(qū)別。
- FIS產(chǎn)生之初定位就是做一個(gè)內(nèi)核砸紊,提供一套編譯體系传于、靜態(tài)資源管理和本地模擬調(diào)試,其編譯體系可以通過(guò)配置文件和插件的方式任意擴(kuò)展
- FIS+通過(guò)擴(kuò)展實(shí)現(xiàn)了一套適合于后端的PHP+Smarty3的編譯體系醉顽,在后端實(shí)現(xiàn)了靜態(tài)資源管理沼溜,提出了諸如quickling、i18n游添、fis-plus之類(lèi)的解決方案系草。
目錄規(guī)范
整個(gè)編譯體系分為目錄規(guī)范
和以文件類(lèi)型為基礎(chǔ)的插件體系
。
- FIS是沒(méi)有目錄規(guī)范的唆涝,源碼隨便放
- FIS+有一套成型的目錄規(guī)范找都,規(guī)定了js如何放、css如何放廊酣、模塊如何劃分能耻,如何引入js等等。
插件
為了滿(mǎn)足后端php+smarty3以及靜態(tài)資源管理,F(xiàn)IS提供了一些插件晓猛,比如extlang饿幅、require-async用來(lái)分析script標(biāo)簽包裹的js,smarty-xss用來(lái)自動(dòng)XSS轉(zhuǎn)義等等戒职。
FIS+脫胎FIS诫睬。
框架
- 靜態(tài)資源映射表:記錄文件依賴(lài)、打包帕涌、URL等信息的表結(jié)構(gòu),在FIS2中統(tǒng)稱(chēng)map.json续徽。在FIS3中默認(rèn)不產(chǎn)出map.json蚓曼,F(xiàn)IS3中為了方便各種語(yǔ)言讀取map.json,對(duì)產(chǎn)出的map.json做了優(yōu)化
本地調(diào)試
- FIS提供了一套本地調(diào)試服務(wù)器
- FIS+ 額外提供了本地?cái)?shù)據(jù)模擬钦扭、路由轉(zhuǎn)發(fā)纫版。
綜述
FIS+ 之于FIS,是一個(gè)針對(duì)業(yè)務(wù)場(chǎng)景在編譯工具客情、架構(gòu)層面進(jìn)行擴(kuò)建其弊,適用于后端php/smarty的架構(gòu)體系。
Smarty模板
Smarty模板也是php寫(xiě)的膀斋,優(yōu)點(diǎn)是插件較多梭伐,但是真正和后端分離是不需要有后端支持就能用插件的方式解決靜態(tài)資源管理。