背景:項目用的是react-app 創(chuàng)建,react 版本是15.14.1(版本比較老),用jekens打包部署react-app項目,在執(zhí)行npm run build會報錯,在本地cmd執(zhí)行完全成功,但是在服務器上jekens打包就會失敗。
失敗的原因:在服務器上打包時,react eslint 插件會自動把warning 的信息轉變成error ,會讓打包自動退出。
解決思路:怎么才能讓eslint關閉掉?
? ?1.百度上的答案是,先執(zhí)行npm run eject, 然后把eslint 里的rules 里的”warn“值都改成”off“或者是0,我實踐了一下,發(fā)現(xiàn)跑完npm run eject后,? ? ? npm run build就已經(jīng)失敗了。
? ? 2.在package.json 里的build腳本“react-scripts build” 改成“CI=false react-scripts build”,這樣改的時候,一跑就提示無法識別CI,那么需要去配置環(huán)境環(huán)境CI=false
3.在java編譯腳本的地方設置上set CI=“” 或者set CI= ,詭異的是CI的值是false都不行,就必須是沒值才行
總結:我剛開始也懷疑是eslint的問題,后來我又創(chuàng)建了一個新的react-app,可是這樣的話,react版本就是最新的(18),在jekens跑的時候就完全ok,我就以為是我們自己代碼的問題了,很疑惑的一個點是react15和18還不太一致,所以以后還是應該在一樣的版本上實踐,以免造成思路不對了,不要怕麻煩,告訴自己不要怕麻煩。