百度構(gòu)建工具fis3常用命令及配置寫法

目錄

  • release發(fā)布命令
  • 配置文件寫法
  • 資源定位寫法

release發(fā)布命令

fis3 release -d <path>

<path>任意目錄
fis3 release -h 獲取更多參數(shù)

fis3 server start

啟動內(nèi)置服務(wù)器
fis3 server -h 獲取更多參數(shù)

fis3 server open

打開內(nèi)置服務(wù)器目錄锦秒,不指定發(fā)布地址則默認發(fā)布到內(nèi)置服務(wù)器中

自己的服務(wù)器替代內(nèi)置Server

使用配置后 執(zhí)行 fis3 release 即可
fis.match('*', { deploy: fis.plugin('local-deliver', { to: '/Users/my-name/work/htdocs' })})

fis3 release -w

文件監(jiān)聽
停止程序用快捷鍵 CTRL+c

fis3 release -wL

瀏覽器自動刷新
程序停止用快捷鍵 CTRL+c

配置文件寫法 fis-conf.js

fis.match(selector, props);

selector:FIS3 把匹配文件路徑的路徑作為selector哈雏,匹配到的文件會分配給它設(shè)置的 props
props:編譯規(guī)則屬性寡壮,包括文件屬性和插件屬性寡键,更多屬性

fis.media()配置多種狀態(tài)

比如:

  • fis3 release rd push 到 RD 的遠端機器上
  • fis3 release qa push 到 QA 的遠端機器上

fis.media('prod').match('*.js', { optimizer: fis.plugin('uglify-js')});
fis3 release prod 使用定義的prod方案

資源定位

html資源定位 不需要改變寫法

FIS3 支持對html中的script、link月幌、style碍讯、video、audio扯躺、embed等標(biāo)簽的src或href屬性進行分析

js資源定位 __uri(path) 改變寫法

源碼:var js = __uri('demo.js');
編譯后var js = '/static/js/demo_33c5143.js';

css資源定位 不改變寫法捉兴,但要使用url() src=''

fis編譯工具會識別css文件或 html的style標(biāo)簽內(nèi)容url(path) 以及 src=path 字段
源碼:@import url('demo.css');
編譯后@import url('/demo_7defa41.css');
源碼:.style { background: url('images/body-bg.png'); }
編譯后.style { background: url('/images/body-bg_1b8c3e0.png'); }
源碼:.style { _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/body-bg.png'); }
編譯后.style { _filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='/images/body-bg_1b8c3e0.png'); }

參考配置寫法

fis.match('*.{js,css,png,gif}', {
    useHash: true // 開啟 md5 戳
});

// 所有的 js
fis.match('**.js', {
    //發(fā)布到/static/js/xxx目錄下
    release : '/static/js$0'
});

// 所有的 css
fis.match('**.css', {
    //發(fā)布到/static/css/xxx目錄下
    release : '/static/css$0'
});

// 所有image目錄下的.png,.gif文件
fis.match('/images/(*.{png,gif})', {
    //發(fā)布到/static/pic/xxx目錄下
    release: '/static/pic/$1'
});

依賴聲明

默認只有js和css文件會輸出到manifest.json表中
添加html依賴只需配置如下

// fis-conf.js
fis.match('*.html', {
    useMap: true
});

html依賴聲明

<!--
    @require demo.js
    @require "demo.css"
-->

css依賴聲明

/**
 * demo.css
 * @require reset.css
 */

js依賴聲明

//demo.js
/**
 * @require demo.css
 * @require list.js
 */```


#內(nèi)容嵌入
適合合并文件录语,減少請求數(shù)
##在html中嵌入資源倍啥,給資源加 **?__inline**
html中嵌入圖片base64

    <img title="百度logo" src="images/logo.gif?__inline"/>
    <img title="百度logo" src="data:image/gif;base64,R0lGODlhDgGBALMAAGBn6eYxLvvy9PnKyfO...Jzna6853wjKc850nPeoY

html中嵌入樣式文件

    <link rel="stylesheet" type="text/css" href="demo.css?__inline">
    <style>img { border: 5px solid #ccc; }</style>

html中嵌入腳本資源

    <script type="text/javascript" src="demo.js?__inline"></script>
    <script type="text/javascript">console.log('inline file');</script>

html中嵌入頁面文件

    <link rel="import" href="demo.html?__inline">
    <!-- this is the content of demo.html -->
    <h1>demo.html content</h1>

##在js中嵌入資源  **__inline()**
在js中嵌入js文件

    __inline('demo.js');
    console.log('demo.js content');

在js中嵌入圖片base64

    var img = __inline('images/logo.gif');
    var img = 'data:image/gif;base64,R0lGODlhDgGBALMAAGBn6eYxLvvy9PnKyfO...Jzna6853wjKc850nPeoYgAgA7';

在js中嵌入其他文本文件

    var css = __inline('a.css');
    var css = "body \n{ color: red;\n}";

##在css中嵌入資源 ?__inline

在css文件中嵌入其他css文件

    @import url('demo.css?__inline');
    img { border: 5px solid #ccc; };

在css中嵌入圖片的base64

.style {
background: url(images/logo.gif?__inline);
}
.style {
background: url(data:image/gif;base64,R0lGODlhDgGBALMAAGBn6eYxLvvy9PnKyfO...Jzna6853wjKc850nPeoYgAgA7);
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市澎埠,隨后出現(xiàn)的幾起案子虽缕,更是在濱河造成了極大的恐慌,老刑警劉巖蒲稳,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件氮趋,死亡現(xiàn)場離奇詭異,居然都是意外死亡江耀,警方通過查閱死者的電腦和手機剩胁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來祥国,“玉大人摧冀,你說我怎么就攤上這事∠倒” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵建车,是天一觀的道長扩借。 經(jīng)常有香客問我,道長缤至,這世上最難降的妖魔是什么潮罪? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任康谆,我火速辦了婚禮嫉到,結(jié)果婚禮上沃暗,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好创坞,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布茂附。 她就那樣靜靜地躺著正蛙,像睡著了一般。 火紅的嫁衣襯著肌膚如雪营曼。 梳的紋絲不亂的頭發(fā)上乒验,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天,我揣著相機與錄音蒂阱,去河邊找鬼锻全。 笑死狂塘,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鳄厌。 我是一名探鬼主播荞胡,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼了嚎!你這毒婦竟也來了泪漂?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤新思,失蹤者是張志新(化名)和其女友劉穎窖梁,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體夹囚,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡纵刘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了荸哟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片假哎。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖鞍历,靈堂內(nèi)的尸體忽然破棺而出舵抹,到底是詐尸還是另有隱情,我是刑警寧澤劣砍,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布惧蛹,位于F島的核電站,受9級特大地震影響刑枝,放射性物質(zhì)發(fā)生泄漏香嗓。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一装畅、第九天 我趴在偏房一處隱蔽的房頂上張望靠娱。 院中可真熱鬧,春花似錦掠兄、人聲如沸像云。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽迅诬。三九已至,卻和暖如春婿牍,著一層夾襖步出監(jiān)牢的瞬間侈贷,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工牍汹, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留铐维,地道東北人。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓慎菲,卻偏偏與公主長得像嫁蛇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子露该,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348

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

  • 前端集成解決方案要求: 模塊化開發(fā)睬棚。最好能像寫nodejs一樣寫js,很舒服解幼。css最好也能來個模塊化管理抑党! 性能...
    Www劉閱讀 3,006評論 1 20
  • 大部分的后端會很很鄙視前端。我也不知道為什么撵摆,可能大部分人都會覺得腳本語言根本不算語言底靠。 大多人 會叫我們切圖仔,...
    小黑的眼閱讀 3,317評論 0 15
  • 前些日子從@張鑫旭微博處得一份推薦(Front-end-tutorial)特铝,號稱最全的資源教程-前端涉及的所有知識...
    谷子多閱讀 4,178評論 0 44
  • 第三章 昆侖山(1) 如果我對身體的控制真的漸漸恢復(fù)了的話暑中,那就只能說明一個問題,我并沒有死鲫剿。 在意識到我還活...
    書千字閱讀 331評論 0 2
  • 今天是10月31日鳄逾,天氣晴朗。我們學(xué)校組織了秋游活動灵莲,這是我小學(xué)的第一次秋游雕凹。我非常興奮。 我們一年級八個班都去了...
    秋天的丘閱讀 592評論 0 50