背景:vue-cli腳手架構(gòu)建的項(xiàng)目本地開發(fā)正常,打包放到nginx服務(wù)器上以后進(jìn)入其中某一個(gè)頁面出現(xiàn)報(bào)錯(cuò)聘鳞,如下圖:
問題分析及解決方案
1.出現(xiàn)這種報(bào)錯(cuò)首先會(huì)想到某個(gè)變量作為數(shù)組操作,經(jīng)過排查并做了一些異常判斷后問題仍存在
2.該項(xiàng)目部署在nginx/html/dist目錄下,懷疑是因?yàn)轫?xiàng)目沒有部署在nginx根目錄導(dǎo)致氓涣,改為部署到nginx/html目錄下問題仍存在
3.將線上正常運(yùn)行的B項(xiàng)目打包放到nginx服務(wù)器意外發(fā)現(xiàn)問題沒有了(出錯(cuò)的頁面為2個(gè)項(xiàng)目公有的系統(tǒng)設(shè)置模塊)殿如,懷疑是某個(gè)打包的配置文件被修改了鸭蛙,通過文件對比發(fā)現(xiàn)關(guān)于打包部分的代碼基本沒有改變
4.將項(xiàng)目的依賴包刪除直接拷貝B項(xiàng)目的依賴,重新打包部署發(fā)現(xiàn)正常
總結(jié)
至此登下,終于發(fā)現(xiàn)問題所在:本地的依賴是通過cnpm安裝的,某些負(fù)責(zé)打包的依賴可能有問題導(dǎo)致打出來的包有問題空厌。刪掉依賴重新用npm install
安裝結(jié)果報(bào)錯(cuò)提示有些包沒有安裝成功庐船,用 cnpm install
重新安裝沒有成功安裝的包即可。所以嘲更,不要嫌棄npm install
安裝的慢了筐钟,除非有些安裝不了在用cnpm install
,雖然慢一點(diǎn)至少不會(huì)出錯(cuò)赋朦。
順便介紹npm和cnpm:
NPM介紹:
說明:NPM(節(jié)點(diǎn)包管理器)是的NodeJS的包管理器篓冲,用于節(jié)點(diǎn)插件管理(包括安裝,卸載宠哄,管理依賴等)
使用NPM安裝插件:npm install <name> [-g] [--save-dev]
例:npm install gulp-less --save-dev
-g
:全局安裝壹将。
將會(huì)安裝在C:\ Users \ Administrator \ AppData \ Roaming \ npm
,并且寫入系統(tǒng)環(huán)境變量;
非全局安裝:將會(huì)安裝在當(dāng)前定位目錄;
全局安裝可以通過命令行任何地方調(diào)用它毛嫉,本地安裝將安裝在定位目錄的node_modules文件夾下
--save
:將保存至package.json
-dev
:保存至的package.json
的devDependencies
節(jié)點(diǎn)诽俯,不指定-dev
將保存至依賴節(jié)點(diǎn)
使用 npm 卸載插件:
npm uninstall <name> [ -g ] [ --save-dev ]
使用 npm 更新插件:
npm update <name> [ -g ] [ --save-dev ]
更新全部插件:
npm update [ --save-dev ]
查看 NPM幫助:
NPM幫助
10.查看當(dāng)前目錄已安裝插件:npm list
CNPM介紹:
- 說明:因?yàn)楣雀璋惭b插件是從國外服務(wù)器下載,受網(wǎng)絡(luò)影響大承粤,可能出現(xiàn)異常暴区,如果谷歌的服務(wù)器在中國就好了闯团,所以我們樂于分享的淘寶團(tuán)隊(duì)干了這事來自官網(wǎng):“這是一個(gè)完整npmjs.org鏡像,你可以用此代替官方版本(只讀)仙粱,同步頻率目前為10分鐘一次以保證盡量與官方服務(wù)同步“房交。
- 官方網(wǎng)址
- 安裝:命令提示符執(zhí)行
npm install cnpm -g --registry=[https://registry.npm.taobao.org](https://registry.npm.taobao.org/)
- 注意:安裝完后最好查看其版本
cnpm -v