Angular是一個開箱即用的框架沒問題,但同時此框架所依賴的包在不停地變換中,雖然此框架的容錯性很好,然而某些依賴包的版本兼容問題還是會不定期出現。這不,2018年1月14日突然有人告訴出現問題了,如圖所示:

怎么辦呢?解決唄
正文:
問題暴露環境
出現此問題是在服務器上首先暴露出來的,其次大家從SVN上全新down代碼,重新下載依賴包會出現此問題,之前本地一直運行的是沒有問題的。從差異入手,找出問題根源。
解決思路
思路一:根據SVN提交記錄,確定組內兩名成員做了修改,進行提交,通過溝通和他們的確認,問題貌似不在他們那里。
思路二:根據錯誤信息提示,依賴包css-loader和postcss-loader版本問題,通過比對可運行依賴包與最新下載無差別。
思路三:根據錯誤信息提示,看到是CSS的問題,試圖根據提示信息,將css文件引入一些相關項先刪除,錯誤依舊存在
思路四:自己不行,上網搜索,現在國內網站搜索,根據錯誤比對嘗試了幾種方案,錯誤依舊在,真是不離不棄啊。
思路五:進軍國外網站,畢竟Angualr目前的應用態勢要廣泛於國內,通過搜索,第一種方案嘗試,失敗,第二種方案沒想到就迎來了春天,問題解決了。
解決方案
巨人的肩膀:https://github.com/angular/angular-cli/issues/8781#issuecomment-355226128
結合實際情況,以下是問題解決方案:
問題定位
腳手架@angular/cli版本過高問題,腳手架1.6.4版本應用在ng4的項目上會有問題,本身@angular/cli進軍1.6的版本后,應該是與ng5項目相匹配的,原先為了提供性能,ng4的項目使用ng5的腳手架,繼而可能會暴露一些問題。
解決方案步驟
1.項目負責人將package.json中@angluar/cli的引入去掉。
2.組員從SVN上拉取最新代碼后,依次執行:
<1>cnpm install
<2>cnpm install primeng@4.2.2
<3>cnpm install @angular/cli@1.6.3
至此,問題迎刃而解。
如果你本地已經執行了cnpm install,這個命令,解決此問題只需執行為:
cnpm i @angular/cli@1.6.3 --save-dev
以下步驟同樣可以解決問題,原理是一樣的,只不過這是之前按照自己的思路解決問題的步驟,大家直接執行上一句命令即刻,如果未解決問題,也可按照如下問題方式解決。
<1>rimraf node_modules,如果本地沒有rimraf,請在自己電腦安裝:cnpm install rimraf -g
<2>然后自行將package.json包里的@angluar/cli引入刪除
<3>cnpm install
<4>cnpm install primeng@4.2.2
<5>cnpm install @angular/cli@1.6.3
項目可以運行了:
