AV大片,日韩伦理一区,国产在线a,开心播播网婷婷在线

哈爾濱今日靈圖

[其他技能培訓(xùn)]
獵學(xué)網(wǎng)訂閱號(hào)
獵學(xué)網(wǎng)官方企業(yè)微信
位置: 獵學(xué)網(wǎng) > 學(xué)校機(jī)構(gòu) > 哈爾濱今日靈圖 > 學(xué)習(xí)資訊> 我理想中的前端工作流 今日?qǐng)D靈

我理想中的前端工作流 今日?qǐng)D靈

45 2017-04-19

在日常的前端開(kāi)發(fā)中,我們會(huì)遇到LESS/SASS編譯、CSS前綴自動(dòng)補(bǔ)全、CSS壓縮、圖片壓縮、JS合并壓縮、布署發(fā)布等各種各樣的操作。通常,我們都會(huì)根據(jù)實(shí)際情況定制一個(gè)流程性的工具來(lái)實(shí)現(xiàn)所有常規(guī)的功能,這,就是我理解的前端工作流。

CssGaga

曾經(jīng),使用過(guò)一段時(shí)間的CssGaga,為它的強(qiáng)大功能而感到震憾,幾乎解決了所有常見(jiàn)的需求。

那一段時(shí)間里,習(xí)慣了CssGaga拖圖片即壓縮上傳,拖CSS文件即壓縮+合并雪碧圖上傳,拖啥就做啥。也就是說(shuō),你想要做什么操作,就手動(dòng)拖拉什么文件就好了。

但隨著自己慢慢變胖,慢慢的越來(lái)越懶,有時(shí)候就想,為什么每次完成開(kāi)發(fā)后,要手動(dòng)拖幾次文件,而不是一鍵就搞定所有必要的功能呢?

CssGaga的模式非常值得借鑒學(xué)習(xí),特別是它的雪碧圖合成方式,見(jiàn)過(guò)很多優(yōu)秀的雪碧圖插件都是參照其寫(xiě)法,如:grunt-sprite、gulp-tmtsprite

我理想中的工作流

一個(gè)人,想某件事,想得多了,就會(huì)有所行動(dòng),比如我曾經(jīng)喜歡的妹子,現(xiàn)在成了我的老婆。。。。。

不好意思,扯遠(yuǎn)了,繼續(xù)講我想要的工作流模式。

結(jié)合公司的工作模式和實(shí)際業(yè)務(wù)實(shí)踐,我把一個(gè)這個(gè)流程分成兩個(gè)過(guò)程:開(kāi)發(fā)過(guò)程和布署過(guò)程。

1.開(kāi)發(fā)過(guò)程

當(dāng)我開(kāi)始開(kāi)發(fā)時(shí),我希望是所見(jiàn)即所得的,我的每一次代碼編輯,都能即時(shí)的響應(yīng)反饋在我面前;我用的是能提升我效率的CSS預(yù)處理語(yǔ)言,我希望她能即時(shí)的幫我編譯成CSS;我用rem,但我寫(xiě)的是px,我希望她能幫我轉(zhuǎn)換……

我想要的開(kāi)發(fā)過(guò)程很簡(jiǎn)單,就是能幫我提升效率!

2.布署過(guò)程

開(kāi)發(fā)完后,終于到了要發(fā)布的時(shí)候了。發(fā)布前,需要生成可以放到生產(chǎn)環(huán)境中的代碼,而這個(gè)過(guò)程,要做的工作有非常多,大概有如下:

Less/Sass->CSS

CSSAutoprefixer前綴自動(dòng)補(bǔ)全

CSS壓縮合并

CSSSprite雪碧圖合成

Retina@2x&@3x自動(dòng)生成適配

imagemin圖片壓縮

JS合并壓縮

EJS模版語(yǔ)言

我希望這個(gè)過(guò)程是一個(gè)命令或一鍵就可以完成的,而不是多次拖拉生成。

我要的流程其實(shí)很簡(jiǎn)單,就是越簡(jiǎn)單越好!

下面,介紹一下因此而誕生的解決方案——tmt-workflow。

tmt-workflow

tmt-workflow是一個(gè)基于Gulp(v4.0)、跨平臺(tái)(Mac&Win)、高效、可定制的前端工作流程。

功能特性

她除了實(shí)現(xiàn)了以上設(shè)想的各種功能外,還有:

基于Gulp4,超好用的流程化(gulp.series,gulp.parallel)控制API,更高的性能

跨平臺(tái)的,支持Win和Mac,滿足各類開(kāi)發(fā)者

所有項(xiàng)目共享一個(gè)node_modules,只需一次npminstall即可

可定制的,你可以根據(jù)自己的需求修改實(shí)現(xiàn)你自己想要的功能

自帶rem適配方案、智能Webp解決方案、去緩存文件Reversion(MD5)解決方案

快速開(kāi)始

以下2種方式任選,請(qǐng)確保已安裝Node.js環(huán)境

使用Yoeman腳手架generator-workflow自動(dòng)安裝(推薦):

npminstall-ggenerator-workflow

yoworkflow

直接下載安裝:

全局安裝Gulp4,執(zhí)行:npminstallgulpjs/gulp#4.0-g

點(diǎn)擊下載tmt-workflow,進(jìn)入根目錄執(zhí)行:npminstall

注1:Gulp4目前尚未正式發(fā)布,Windows用戶請(qǐng)先安裝git,

然后在GitBash下執(zhí)行npminstall即可(非CMD)。

注2:如遇npminstall網(wǎng)絡(luò)問(wèn)題,推薦嘗試pm安裝環(huán)境依賴

工作流目錄結(jié)構(gòu)

tmt-workflow/

├──_tasks//Gulp任務(wù)目錄

│├──TaskBuildDev.js//gulpbuild_dev

│├──TaskBuildDist.js//gulpbuild_dist

│├──TaskFTP.js//gulpftp

│├──TaskZip.js//gulpzip

││

│├──mon

││└──webp.js

││

│├──index.js

││

│├──lib

││└──util.js

││

│└──plugins//插件目錄

│├──TmTIndex.js

│└──ftp.js

├──package.json

└──project//項(xiàng)目目錄,詳見(jiàn)下述項(xiàng)目結(jié)構(gòu)↓↓↓

├──src

├──dev

├──dist

└──gulpfile.js

項(xiàng)目目錄結(jié)構(gòu)

project///項(xiàng)目目錄

├──gulpfile.js//Gulp工作流配置文件

├──src//源文件目錄,`gulpbuild_dev`階段會(huì)此目錄下的文件變動(dòng)

│├──css//存放Less文件的目錄,只有style-*.less的文件名會(huì)被編譯

││├──lib-reset.less

││├──lib-mixins.less

││├──lib-rem.less

││└──style-index.less//CSS編譯出口文件

││

│├──

│├──img//存放背景圖等無(wú)需合并雪碧圖處理的圖片

│└──slice//切片圖片素材,將會(huì)進(jìn)行雪碧圖合并,同名@2x圖片也會(huì)合并

│├──icon-dribbble.png

│└──icon-dribbble@2x.png

├──dev//開(kāi)發(fā)目錄,由`gulpbuild_dev`任務(wù)生成

│├──css

│├──

│├──img

│└──slice//開(kāi)發(fā)階段,僅從src/slice拷貝至此,不做合并雪碧圖處理

└──dist//生產(chǎn)目錄,由`gulpbuild_dist`任務(wù)生成

├──css

├──

├──img

└──sprite//將/src/slice合并雪碧圖,根據(jù)/css文件名,命名為style-*.png

├──style-index.png

└──style-index@2x.png

配置文件.tmtworkflowrc

.tmtworkflowrc配置文件,位于工作流根目錄,可存放配置信息或開(kāi)啟相關(guān)功能,

如:FTP配置信息、開(kāi)啟WebP功能,開(kāi)啟REM支持等。

{

//FTP發(fā)布配置

"ftp":{

"host":"xx.xx.xx.xx",

"port":"8021",

"user":"tmt",

"pass":"password",

"remotePath":"remotePath",//默認(rèn)上傳至根目錄,此屬性可指定子目錄路徑

"includeHtml":true//FTP上傳時(shí)是否包含文件

},

//瀏覽器自動(dòng)刷新

"livereload":{

"available":true,//開(kāi)啟

"port":8080,

"startPath":/TmTIndex"http://啟動(dòng)時(shí)自動(dòng)打開(kāi)的路徑

},

//插件功能

//路徑相對(duì)于tasks/plugins目錄

"plugins":{

"build_devAfter":["TmTIndex"],//build_dev任務(wù)執(zhí)行完成后,自動(dòng)執(zhí)行

"build_distAfter":[],//build_dist任務(wù)執(zhí)行完成后,自動(dòng)執(zhí)行

"ftpAfter":["ftp"]//ftp任務(wù)執(zhí)行完成后,自動(dòng)執(zhí)行

},

"lazyDir":["../slice"],//gulp-lazyImageCSS啟用目錄

"supportWebp":false,//開(kāi)啟WebP解決方案

"supportREM":false,//開(kāi)啟REM適配方案,自動(dòng)轉(zhuǎn)換px->rem

"reversion":false//開(kāi)啟新文件名md5功能

}

任務(wù)簡(jiǎn)要說(shuō)明

1.開(kāi)發(fā)任務(wù)gulpbuild_dev

按照目錄結(jié)構(gòu)創(chuàng)建好項(xiàng)目后,執(zhí)行g(shù)ulpbuild_dev生成開(kāi)發(fā)文件位于/dev,包含以下過(guò)程

完成ejs->和less->css編譯

自動(dòng)文件改動(dòng),觸發(fā)瀏覽器刷新

注:瀏覽器刷新功能可在.tmtworkflowrc中進(jìn)行配置,默認(rèn)開(kāi)啟。

2.生產(chǎn)任務(wù)gulpbuild_dist

開(kāi)發(fā)完成后,執(zhí)行g(shù)ulpbuild_dist生成最終文件到/dist目錄,包含以下過(guò)程:

LESS/EJS編譯

CSS/JS/IMG壓縮合并

slice圖片合并成雪碧圖

文件添加版本號(hào)

WebP圖片支持

3.FTP部署gulpftp

依賴于生產(chǎn)任務(wù),執(zhí)行后,會(huì)先執(zhí)行g(shù)ulpbuild_dist,然后將其生成的/dist目錄上傳至.tmtworkflowrc指定的FTP服務(wù)器。

4.打包任務(wù)gulpzip

依賴于生產(chǎn)任務(wù),執(zhí)行后,會(huì)先執(zhí)行g(shù)ulpbuild_dist,然后將其生成的/dist目錄壓縮成zip格式。

注1:./src為源文件目錄,/dev和/dist目錄為流程自動(dòng)生成的目錄。

注2:FTP和zip任務(wù)執(zhí)行后會(huì)自動(dòng)刪除/dist目錄。

使用預(yù)覽

推薦配合WebStorm等編輯器的Gulp任務(wù)管理器使用更佳。

我理想中的前端工作流 今日?qǐng)D靈

tmt-workflow具有良好的定制性和擴(kuò)展性,用戶可針對(duì)自身團(tuán)隊(duì)的具體需求定制,更多可查看:

Github:https://github/weixin/tmt-workflow

Wiki:https://github/weixin/tmt-workflow/wiki

最后,或許你會(huì)問(wèn):為什么叫tmt-workflow?

TmT:我們的組名,TencentMoeTeam。

工作流的名字隨意,你也可以根據(jù)你們自己的習(xí)慣自由發(fā)揮,比如Aoisola、YuiHatano、TakizawaRola。

溫馨提示: 專業(yè)老師1對(duì)1為您解答    馬上填寫(xiě),¥1000 元豪禮免費(fèi)領(lǐng)!

掃一掃
獲取更多福利

×
獵學(xué)網(wǎng)
久久久久久国产精品美女| 欧美精品第56页| 美女视频国产精品| 欧美一级a| 精品无码久久久久国产APP| 婷婷六月天视频| 亚洲无码的视频| 欧亚国产精品无码无套| 中文字幕精品无码| 99r精品视频| 中国孕妇XXX| 三极91电影国产片| 国产a级久久久久久久| 亚洲色成人WWW永久在线观看| 日韩精品视频免费观看| 亚洲天堂久久久久| 激情四射亚洲无码免费| 午夜直播福利免费观看| 国产精品午夜福利不卡 | 人在线视频热| 91这里只有精品12| 99精品网站| 婷婷无码在线视频| 无码丰满熟妇一区二区浪| 999无玛| 99东京热免费体验| 国产熟女不卡| 亚洲一区视频| 久久精品伦理| 免费无码观看视频| 波多野结衣a在线| 欧美日韩在线视频| 无码中文电影| 后入少妇久久| 欧美成人激情高清| 四虎永久免费电影| 中文字幕在线播放| 欧美日韩一二三四| 国产亚洲高潮精品| 裸体美女午夜视频| 人操人网站|