問答
1.nodejs 是什么渊鞋?可以做什么丰歌?為什么擅長做惰帽?
Node.js是JavaScript語言在服務(wù)器的運(yùn)行環(huán)境橡淆,就如同當(dāng)JavaScript語言作為客戶端腳本時(shí)召噩,其運(yùn)行環(huán)境是瀏覽器一樣;
Node作為JavaScript的運(yùn)行環(huán)境明垢,可以從以上兩方面去理解:
JavaScript通過Node在服務(wù)器上運(yùn)行蚣常;
Node提供大量的工具庫市咽,使得JavaScript與操作系統(tǒng)得以互動(dòng)(如讀寫文件)
Node內(nèi)部采用Google公司的V8引擎作為JavaScript的解釋器痊银,通過自行開發(fā)的linuv庫調(diào)用操作系統(tǒng)的資源,從而使得JavaScript有望同時(shí)成為一門服務(wù)端語言施绎;
Node.js采用事件驅(qū)動(dòng)溯革、異步編程贞绳,因此可以作為網(wǎng)絡(luò)服務(wù)器來使用;
Node.js非阻塞模式的IO處理使Node.js在相對(duì)低系統(tǒng)資源耗用下?lián)碛懈咝阅芘c出眾的負(fù)載能力致稀;
2.npm 是什么? 如何安裝 node 應(yīng)用冈闭?全局安裝和本地安裝有什么區(qū)別? --save與--saveDev的區(qū)別抖单? node_module的查找依賴的路線是怎樣的?
npm是什么
npm有兩層含義萎攒,一是Node的開放式模塊登記和管理系統(tǒng),二是Node默認(rèn)的模塊管理器矛绘,是一個(gè)命令行下的軟件耍休,用來安裝和管理Node模塊。
全局安裝和本地安裝有什么區(qū)別
每個(gè)模塊可以“全局安裝”货矮,也可以“本地安裝”羊精。“全局安裝”指的是將一個(gè)模塊安裝到系統(tǒng)目錄中囚玫,各個(gè)項(xiàng)目都可以調(diào)用喧锦。一般來說,全局安裝只適用于工具模塊抓督,比如eslint和gulp燃少。“本地安裝”指的是將一個(gè)模塊下載到當(dāng)前項(xiàng)目的node_modules子目錄铃在,然后只有在項(xiàng)目目錄之中供汛,才能調(diào)用這個(gè)模塊;
//全局安裝
$ npm install -g gulp
//局部安裝
$ npm i jquery
--save與--save-dev的區(qū)別
--save參數(shù)表示將該模塊寫入dependencies屬性,--save-dev表示將該模塊寫入devDependencies屬性涌穆;
{
"devDependencies": {
"browserify": "~13.0.0",
"karma-browserify": "~5.0.1"
}
}
dependencies字段指定了項(xiàng)目運(yùn)行所依賴的模塊怔昨,devDependencies指定項(xiàng)目開發(fā)所需要的模塊。
它們都指向一個(gè)對(duì)象宿稀。該對(duì)象的各個(gè)成員趁舀,分別由模塊名和對(duì)應(yīng)的版本要求組成,表示依賴的模塊及其版本范圍祝沸。
node_module的查找依賴的路線是怎樣的
從本地文件開始一直往上查找至系統(tǒng)根目錄
3.安裝browser-sync并了解它的使用方式
Browsersync能讓瀏覽器實(shí)時(shí)矮烹、快速響應(yīng)您的文件更改(html、js罩锐、css奉狈、sass、less等)并自動(dòng)刷新頁面
npm install browser-sync -S
安裝模塊涩惑,鍵入```browser-sync start --server --files ".css",".js","*.html"``命令仁期,BrowserSync 將啟動(dòng)一個(gè)小型服務(wù)器,并提供一個(gè)URL來實(shí)時(shí)查看您的網(wǎng)站
4.全局安裝server-mock并了解它的使用方式
全局安裝
npm i -g server-mock
server-mock --help
查看輔助信息
命令:
start 啟動(dòng) webserver
init 創(chuàng)建使用范例
查看命令的詳細(xì)使用, 輸入 <command> --help
如:..\AppData\Roaming\npm\node_modules\server-mock\bin\server start
5.什么是前端構(gòu)建,有哪些常見的前端構(gòu)建工具?
- 前端構(gòu)建是具體指自動(dòng)化構(gòu)建(Build Automation)跛蛋,旨在將每次項(xiàng)目版本的更迭需要重復(fù)的操作(代碼語法檢查熬的、資源壓縮、文件合并等)通過自動(dòng)化構(gòu)建工具(Webpack/gulp/grunt)實(shí)現(xiàn)自動(dòng)構(gòu)建功能
代碼
使用 gulp赊级,實(shí)現(xiàn)一個(gè)項(xiàng)目的自動(dòng)化構(gòu)建, 要求:
1.項(xiàng)目中包括多個(gè) css 文件, 多個(gè) js 文件押框,多個(gè)圖片
2.操作 src 目錄,css 需要壓縮合并理逊,js 需要壓縮合并橡伞,圖片需要壓縮,處理后放入 dist 目錄
3.以下是范例晋被,推薦構(gòu)建前面的任務(wù)中包含 css js和圖片的項(xiàng)目
+ dist
+ css
- merge.min.css
+ js
- merge.min.js
+ img
- a.png
- b.png
+ src
+ css
- a.css
- b.css
+ js
- a.js
- b.js
+ img
- a.png
- b.png
- index.html