gulp構(gòu)建

問(wèn)答

1.nodejs 是什么叁执?可以做什么篙悯?為什么擅長(zhǎng)做?

  • Node.js是一個(gè)Javascript運(yùn)行環(huán)境(runtime)夕凝。實(shí)際上它是對(duì)Google V8引擎進(jìn)行了封裝宝穗。V8引 擎執(zhí)行Javascript的速度非撤馑铮快,性能非常好讽营。Node.js對(duì)一些特殊用例進(jìn)行了優(yōu)化,提供了替代的API泡徙,使得V8在非瀏覽器環(huán)境下運(yùn)行得更好橱鹏。
  • Node.js是一個(gè)基于Chrome JavaScript運(yùn)行時(shí)建立的平臺(tái), 用于方便地搭建響應(yīng)速度快堪藐、易于擴(kuò)展的網(wǎng)絡(luò)應(yīng)用莉兰。Node.js 使用事件驅(qū)動(dòng), 非阻塞I/O 模型而得以輕量和高效礁竞,非常適合在分布式設(shè)備上運(yùn)行數(shù)據(jù)密集型的實(shí)時(shí)應(yīng)用糖荒。
  • 特性
    1.單線程
    2.非阻塞IO
    3.事件驅(qū)動(dòng)
    4.RESTful API
    5.V8虛擬機(jī)
  • 應(yīng)用:
    1.Web開發(fā):Express + EJS + Mongoose/MySQL
    2.REST開發(fā):Restify
    3.Web聊天室(IM):Express + Socket.io
    4.Web爬蟲:Cheerio/Request
    5.Web博客:Hexo
    6.Web論壇: nodeclub
    7.Web幻燈片:Cleaver
    8.前端包管理平臺(tái): bower.js
    9.操作系統(tǒng): node-os
    10.客戶端應(yīng)用工具: node-webwit
  • nodejs的幾大特性奠定了node.js開發(fā)上述應(yīng)用的優(yōu)勢(shì)
    1.動(dòng)態(tài)語(yǔ)言:開發(fā)效率非常高,并有能力構(gòu)建復(fù)雜系統(tǒng)模捂,如ql.io捶朵。
    2.性能和I/O負(fù)載:Nodejs非常好的解決了IO密集的問(wèn)題,通過(guò)異步IO來(lái)實(shí)現(xiàn)狂男。
    3.連接的內(nèi)存開銷:每個(gè)Node.js進(jìn)程可以支持超過(guò)12萬(wàn)活躍的連接综看,每個(gè)連接消耗大約2K的內(nèi)存。
    4.操作性:實(shí)現(xiàn)了Nodejs對(duì)于內(nèi)存堆棧的監(jiān)控系統(tǒng)岖食。

2.npm 是什么? 如何安裝 node 應(yīng)用红碑?全局安裝和本地安裝有什么區(qū)別? --save與--saveDev的區(qū)別泡垃? node_module的查找依賴的路線是怎樣的?

  • npm(node package manager)是NodeJS的包管理器析珊,能夠讓用戶上傳或下載第三方庫(kù)或應(yīng)用,用于node插件管理(包括安裝蔑穴、卸載忠寻、管理依賴等)。
  • 全局安裝可以計(jì)算機(jī)的任意目錄下調(diào)用nodejs.本地安裝只能在安裝相應(yīng)的目錄下運(yùn)行nodejs.
    1.全局安裝命令npm install gulp -g 或 npm install gulp --global
    2.本地安裝命令npm install gulp 或 npm install gulp --save-dev
  • npm install 在安裝 npm 包時(shí)存和,有兩種命令參數(shù)可以把它們的信息寫入 package.json 文件锡溯,npm install --save 或 npm install --save-dev,區(qū)別如下:
    1.--save 會(huì)把依賴包名稱添加到 package.json 文件 dependencies 鍵下,--save-dev 則把依賴包名稱添加到 package.json 文件 devDependencies 鍵下
    2.dependencies鍵下的模塊一般是生產(chǎn)環(huán)境下使用 哑姚,devDependencies 鍵的模塊一般是開發(fā)環(huán)境下使用
  • nodemoudle的查找路徑是從當(dāng)前的項(xiàng)目目錄一直向上查找到系統(tǒng)的nodemoule根目錄祭饭,這也解釋了全局安裝為什么生效

3.安裝browser-sync并了解它的使用方式

  • Browsersync能讓瀏覽器實(shí)時(shí)、快速響應(yīng)您的文件更改(html叙量、js倡蝙、css、sass绞佩、less等)并自動(dòng)刷新頁(yè)面寺鸥。更重要的是** Browsersync可以同時(shí)在PC猪钮、平板、手機(jī)等設(shè)備下進(jìn)項(xiàng)調(diào)試**胆建。
  • 安裝方式(命令行)
    1.npm install browser-sync -g
    2.查看版本browser-sync --version,若有版本號(hào)則表示安裝成功
    3.啟動(dòng) BrowserSync
    3.1 如果您只希望在對(duì)某個(gè)css文件進(jìn)行修改后會(huì)同步到瀏覽器里烤低。那么您只需要運(yùn)行命令行工具,進(jìn)入到該項(xiàng)目(目錄)下笆载,并運(yùn)行相應(yīng)的命令:browser-sync start --server --files "css/*.css"
    3.2 如果您需要監(jiān)聽多個(gè)類型的文件扑馁,您只需要用逗號(hào)隔開例如我們?cè)偌尤胍粋€(gè).html文件.browser-sync start --server --files "css/*.css, *.html"
    3.3 如果您已經(jīng)有其他本地服務(wù)器環(huán)境PHP或類似的,您需要使用代理模式凉驻。 BrowserSync將通過(guò)代理URL(localhost:3000)來(lái)查看您的網(wǎng)站.browser-sync start --proxy "主機(jī)名" "css/*.css"
  • 建議結(jié)合gulp或grunt來(lái)使用,效果更加

4.全局安裝server-mock并了解它的使用方式

  • server-mock 是一個(gè)簡(jiǎn)單好用的用于前后端分離的 mock 利器腻要, 基于 express 開發(fā),可方便的 mock 數(shù)據(jù),和一般基于配置的 mock 工具不同涝登,server-mock可以創(chuàng)建使用范例雄家,讓使用者可讓使用者模仿范例簡(jiǎn)單快捷的實(shí)現(xiàn)需求
  • 安裝方式(npm命令)
    1.全局安裝npm install server-mock -g
    2.安裝完畢,命令行打開項(xiàng)目的文件胀滚,輸入mock init
    3.server-mock還支持頁(yè)面路由解析與模板渲染趟济,在router.js里設(shè)置好對(duì)應(yīng)路由下需要展示的數(shù)據(jù)以及對(duì)應(yīng)的模板文件,即可通過(guò)瀏覽器看到渲染后的效果
    4.啟動(dòng) webserver:mock start,在瀏覽器輸入 http://localhost:8080 即可預(yù)覽
  • 參考文檔:server-mock

5.什么是前端構(gòu)建咽笼,有哪些常見的前端構(gòu)建工具?

  • 前端構(gòu)建就是實(shí)現(xiàn)前端性能優(yōu)化自動(dòng)化咙好、工程化的過(guò)程,前端構(gòu)建工具就是用來(lái)讓我們不再做機(jī)械重復(fù)的事情褐荷,解放我們的雙手的勾效,比如我們會(huì)用 Less /Sass去寫 CSS,會(huì)用 Jade 去寫 HTML叛甫,會(huì)用 Browserify 去模塊化层宫、為非覆蓋式部署的資源加 MD5 戳等,工作性質(zhì)重復(fù)機(jī)械,浪費(fèi)大量人力物力其监,前端工具就是為了解決這個(gè)問(wèn)題萌腿,
  • 常見的前端構(gòu)建工具有g(shù)ulp,grunt,Yeoman, WebPack等

代碼

1.使用 gulp,實(shí)現(xiàn)一個(gè)項(xiàng)目的自動(dòng)化構(gòu)建, 要求:

  • 項(xiàng)目中包括多個(gè) css 文件, 多個(gè) js 文件抖苦,多個(gè)圖片

  • 操作 src 目錄毁菱,css 需要壓縮合并,js 需要壓縮合并锌历,圖片需要壓縮贮庞,處理后放入 dist 目錄

  • 以下是范例,推薦構(gòu)建前面的任務(wù)中包含 css js和圖片的項(xiàng)目

  • task41預(yù)覽

  • task41代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末究西,一起剝皮案震驚了整個(gè)濱河市窗慎,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖遮斥,帶你破解...
    沈念sama閱讀 211,639評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件峦失,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡术吗,警方通過(guò)查閱死者的電腦和手機(jī)尉辑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)较屿,“玉大人隧魄,你說(shuō)我怎么就攤上這事×吡停” “怎么了?”我有些...
    開封第一講書人閱讀 157,221評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵昆庇,是天一觀的道長(zhǎng)末贾。 經(jīng)常有香客問(wèn)我,道長(zhǎng)整吆,這世上最難降的妖魔是什么拱撵? 我笑而不...
    開封第一講書人閱讀 56,474評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮表蝙,結(jié)果婚禮上拴测,老公的妹妹穿的比我還像新娘。我一直安慰自己府蛇,他們只是感情好集索,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,570評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著汇跨,像睡著了一般务荆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上穷遂,一...
    開封第一講書人閱讀 49,816評(píng)論 1 290
  • 那天函匕,我揣著相機(jī)與錄音,去河邊找鬼蚪黑。 笑死盅惜,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的忌穿。 我是一名探鬼主播抒寂,決...
    沈念sama閱讀 38,957評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼掠剑!你這毒婦竟也來(lái)了蓬推?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,718評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤澡腾,失蹤者是張志新(化名)和其女友劉穎沸伏,沒想到半個(gè)月后糕珊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡毅糟,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,511評(píng)論 2 327
  • 正文 我和宋清朗相戀三年红选,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片姆另。...
    茶點(diǎn)故事閱讀 38,646評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡喇肋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出迹辐,到底是詐尸還是另有隱情蝶防,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評(píng)論 4 330
  • 正文 年R本政府宣布明吩,位于F島的核電站间学,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏印荔。R本人自食惡果不足惜低葫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,934評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望仍律。 院中可真熱鬧嘿悬,春花似錦、人聲如沸水泉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)草则。三九已至躯概,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間畔师,已是汗流浹背娶靡。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留看锉,地道東北人姿锭。 一個(gè)月前我還...
    沈念sama閱讀 46,358評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像伯铣,于是被迫代替她去往敵國(guó)和親呻此。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,514評(píng)論 2 348

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

  • gulpjs是一個(gè)前端構(gòu)建工具腔寡,與gruntjs相比焚鲜,gulpjs無(wú)需寫一大堆繁雜的配置參數(shù),API也非常簡(jiǎn)單,學(xué)...
    依依玖玥閱讀 3,149評(píng)論 7 55
  • nodejs 是什么忿磅?可以做什么糯彬?為什么擅長(zhǎng)做? nodejs是一個(gè)開放源代碼葱她、跨平臺(tái)的撩扒、可用于服務(wù)器端和網(wǎng)絡(luò)應(yīng)用...
    coolheadedY閱讀 333評(píng)論 0 0
  • 1. nodejs簡(jiǎn)介 Node.js是一個(gè)Javascript運(yùn)行環(huán)境,封裝了Google Chrome的V8引...
    進(jìn)擊的阿群閱讀 314評(píng)論 0 0
  • 問(wèn)答 1.nodejs 是什么吨些?可以做什么搓谆?為什么擅長(zhǎng)做? Node.js是JavaScript語(yǔ)言在服務(wù)器的運(yùn)行...
    犯迷糊的小羊閱讀 434評(píng)論 0 0
  • 2016年9月20日 星期三 晴 張榮軒媽媽 親子日記第16篇 昨天我的心情不美麗豪墅,偷了懶沒寫日記泉手。今天...
    愛意暖人心閱讀 204評(píng)論 0 0