如何全局安裝一個 node 應(yīng)用?
npm install -g xxx
package.json 有什么作用望抽?
每個項(xiàng)目的根目錄下面都有一個package.json文件盔粹,定義這個項(xiàng)目所需要的各個模塊,以及項(xiàng)目的配置信息蚀腿,(比如名稱嘴瓤、版本、許可證等元數(shù)據(jù))莉钙。npm install命令根據(jù)這個配置文件廓脆,自動下載所需的模塊,也就是配置項(xiàng)目所需的運(yùn)行和開發(fā)環(huán)境磁玉。
npm install --save app 與 npm install --save-dev app有什么區(qū)別?
npm install --save app是將app這個模塊放在package的dependencies依賴上停忿,這是項(xiàng)目上線之后也要用的模塊
npm install --save-dev app則是將這個模塊放在package的devDependencies依賴上,這是生產(chǎn)環(huán)境中需要的蚊伞,上線后不需要
題目4: node_modules的查找路徑是怎樣的?
先在當(dāng)前目錄找席赂,找不到再到上一級目錄,以此類推时迫,最后再到根目錄
npm3與 npm2相比有什么改進(jìn)颅停?yarn和 npm 相比有什么優(yōu)勢? (選做題目)
npm3相比npm2主要改進(jìn)了依賴管理方案
npm2安裝依賴的時候比較簡單直接,直接按照包的依賴的樹形結(jié)構(gòu)下載填充至本地目錄掠拳,缺陷在于太深的目錄樹結(jié)構(gòu)會嚴(yán)重影響效率癞揉,甚至在window下可能會超出系統(tǒng)路徑限制的長度,另外有刪node_modules目錄經(jīng)歷的可能都漫長的等待溺欧。
針對 npm2 的問題喊熟,npm3 加了點(diǎn)算法,直白的解釋就是:npm install 時會按照 package.json 里依賴的順序依次解析姐刁,遇到新的包就把它放在第一級目錄逊移,后面如果遇到一級目錄已經(jīng)存在的包,會先判斷版本龙填,如果版本一樣則忽略胳泉,否則會按照 npm2 的方式依次掛在依賴包目錄下
在包版本差異化不太嚴(yán)重的情況下拐叉,這種構(gòu)建方式會幾乎把所有包放在一級目錄下,很大程度下提升了效率以及節(jié)省了部分磁盤空間扇商。但是npm3又遇到了新問題凤瘦,有可能開發(fā)環(huán)境和測試環(huán)境的node_modules的目錄結(jié)構(gòu)不一樣,以及其他因素案铺,faceboook開發(fā)了yarn來替代npm蔬芥。
yarn優(yōu)點(diǎn)在于只要通過Yarn安裝過的套件都會在本地目錄產(chǎn)生Cache,也就是說只要安裝過依次控汉,下次重新安裝都會從Cache重新讀取笔诵, 安裝速度會提升很多。
webpack是什么姑子?和其他同類型工具比有什么優(yōu)勢乎婿?
webpack是一個模塊打包工具,
優(yōu)勢:
1.兼容common.js街佑、AMD谢翎、ES6語法
2.js文件、css文件沐旨、圖片森逮、html文件都可以打包
3.有很多插件可使用
4.有獨(dú)立的配置文件webpack.config.js
5.可以將代碼切割成不同的chunk,實(shí)現(xiàn)按需加載磁携,降低了初始化時間褒侧;
npm script是什么?如何使用谊迄?
就是一個打包命令的功能璃搜,可以在package.json文件里的scripts對象下配置,內(nèi)容為key:命令鳞上,配置好后用npm key命令就可以執(zhí)行配置好的命令这吻,極大的減少了操作指令,但是如果key不是npm自帶的指令是自創(chuàng)的話要用npm run key
使用 webpack
https://shaozhiyuan.github.io/blog/webpack%E4%BC%81%E4%B8%9A%E5%AE%9E%E6%88%98.html
獲取新聞階段由于協(xié)議關(guān)系獲取不成功 但本地能成功獲取如圖
gulp是什么篙议?使用 gulp 實(shí)現(xiàn)圖片壓縮唾糯、CSS 壓縮合并、JS 壓縮合并
gulb是一個能夠打包鬼贱、壓縮移怯、合并、git这难、遠(yuǎn)程等功能快速易用的插件