如何全局安裝一個(gè) node 應(yīng)用?
- npm install -g xxxx(應(yīng)用名稱)
package.json 有什么作用讲婚?
- 每個(gè)項(xiàng)目的根目錄下面,一般都有一個(gè)package.json文件撬统,定義了這個(gè)項(xiàng)目所需要的各種模塊缝呕,以及項(xiàng)目的配置信息(比如名稱、版本皂甘、許可證等元數(shù)據(jù))玻驻。npm install命令根據(jù)這個(gè)配置文件,自動(dòng)下載所需的模塊偿枕,也就是配置項(xiàng)目所需的運(yùn)行和開(kāi)發(fā)環(huán)境璧瞬。
- package.json文件就是一個(gè)JSON對(duì)象,該對(duì)象的每一個(gè)成員就是當(dāng)前項(xiàng)目的一項(xiàng)設(shè)置渐夸。比如name就是項(xiàng)目名稱嗤锉,version是版本(遵守“大版本.次要版本.小版本”的格式)。
- package.json文件的各個(gè)字段:
scripts : 指定了運(yùn)行腳本命令的npm命令行縮寫(xiě)墓塌,比如start指定了運(yùn)行npm run start時(shí)瘟忱,所要執(zhí)行的命令。
dependencies :字段指定了項(xiàng)目運(yùn)行所依賴的模塊苫幢。
devDependencies :指定項(xiàng)目開(kāi)發(fā)所需要的模塊访诱。
- package.json文件可以手工編寫(xiě),也可以使用npm init命令自動(dòng)生成韩肝。這個(gè)命令采用互動(dòng)方式触菜,要求用戶回答一些問(wèn)題,然后在當(dāng)前目錄生成一個(gè)基本的package.json文件哀峻。所有問(wèn)題之中涡相,只有項(xiàng)目名稱(name)和項(xiàng)目版本(version)是必填的,其他都是選填的剩蟀。
npm install --save app 與 npm install --save-dev app有什么區(qū)別?
- npm install --save app:安裝package.json文件的dependencies之中的模塊催蝗,這里面代表運(yùn)行所依賴的模塊。
- npm install --save-dev app:安裝package.json文件的devDependencies之中的模塊育特,這里面代表開(kāi)發(fā)所依賴的模塊生逸。
node_modules的查找路徑是怎樣的?
- 遇見(jiàn)require時(shí),會(huì)在當(dāng)前目錄下找node_modules文件夾,看看里面有沒(méi)有需要的模塊槽袄,沒(méi)有則沿著當(dāng)前項(xiàng)目的路徑一層一層往上查找烙无,一直到根目錄為止。
npm3與 npm2相比有什么改進(jìn)遍尺?
- npm2所有項(xiàng)目依賴是嵌套關(guān)系,也就是說(shuō)會(huì)出現(xiàn)嵌套過(guò)多的情況截酷,npm3改進(jìn)了這個(gè)情況,會(huì)將所有依賴放在第二層依賴中乾戏,即所有依賴都在同一node_modules目錄中迂苛,是平行而不是嵌套的,有同名才會(huì)出現(xiàn)嵌套鼓择。
webpack是什么三幻?和其他同類型工具比有什么優(yōu)勢(shì)?
- webpack是一個(gè)打包工具呐能。它能分析你的項(xiàng)目結(jié)構(gòu)念搬,找到JavaScript模塊以及其它的一些瀏覽器不能直接運(yùn)行的拓展語(yǔ)言(Scss,TypeScript等)摆出,并將其打包為合適的格式以供瀏覽器使用朗徊。主要的核心概念為:入口(entry)、輸出(output)偎漫、loader爷恳、插件(plugins)。
- 優(yōu)勢(shì):
- 在webpack看來(lái)一切都是模塊象踊!這就是它不可不說(shuō)的優(yōu)點(diǎn)温亲,包括你的JavaScript代碼,也包括CSS和fonts以及圖片等等等杯矩,只有通過(guò)合適的loaders栈虚,它們都可以被當(dāng)做模塊被處理。
2.Webpack 本身只能處理原生的 JavaScript 模塊菊碟,但是 loader 轉(zhuǎn)換器可以將各種類型的資源轉(zhuǎn)換成 JavaScript 模塊节芥。這樣在刺,任何資源都可以成為 Webpack 可以處理的模塊逆害。
3.豐富的插件系統(tǒng)。大多數(shù)內(nèi)容功能都是基于這個(gè)插件系統(tǒng)運(yùn)行的蚣驼,還可以開(kāi)發(fā)和使用開(kāi)源的 Webpack 插件魄幕,來(lái)滿足各式各樣的需求。
4.和 requirejs 相比颖杏,require.js的所有功能它都有纯陨,但編繹過(guò)程更快,因?yàn)?require.js 會(huì)去處理不需要的文件,還有一個(gè)額外的好處就是你不需要再做一個(gè)封裝的函數(shù)翼抠,不需要寫(xiě) define咙轩,自己用 exports 后,require 就好阴颖。
npm script是什么活喊?如何使用?
- scripts指定了運(yùn)行腳本命令的npm命令行縮寫(xiě)量愧,比如start指定了運(yùn)行npm run start時(shí)钾菊,所要執(zhí)行的命令。通過(guò)設(shè)置 npm script 可以方便實(shí)現(xiàn)前端工作流偎肃。
- 使用方法:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"煞烫,
"webpack": "webpack app.js ./bin/app.merge.js"
}
//在命令行輸入 npm run webpack,就可以在命令行中執(zhí)行 webpack app.js ./bin/app.merge.js 命令累颂。
使用 webpack 替換 入門-任務(wù)15中模塊化使用的 requriejs
gulp是什么滞详?使用 gulp 實(shí)現(xiàn)圖片壓縮、CSS 壓縮合并喘落、JS 壓縮合并
- 它是一款nodejs應(yīng)用茵宪。
- 它是打造前端工作流的利器,打包瘦棋、壓縮稀火、合并、git赌朋、遠(yuǎn)程操作...凰狞,
- 簡(jiǎn)單易用
- 無(wú)快不破
- 高質(zhì)量的插件
- github代碼