最近在項目換腳手架的時候,發現一個比較特別的問題,就是每當我有修改代碼的時候,npm會拋出98% after emitting CopyPlugin這個錯誤。webpack
我在網上搜羅了一遍,大體獲得如下解決方案:web
1.替換npm使用yarn或cnpm;npm
2.升級webpack到v4.28.4及以上;測試
3.從新進行npm install;spa
4.一個路由一個路由的排查,找到問題;插件
本人試了前三種,結果徹底沒有效果。第4種方法看起來太麻煩,本人比較懶,把這個方法做爲最後的備選了。因而,決定遵循解決npm出現問題的慣性方法,也就是報哪裏的錯誤就從哪裏排查。因而,我打開webpack.config.js,找到CopyWebpackPlugin插件,而後註釋掉相關配置。而後測試運行,發現居然真的不報錯了。我倒有點疑惑了,因而細心研究個人代碼,相關代碼以下:code
1 new CopyWebpackPlugin([{ 2 from: 'public', 3 to: global.BASE_URL, 4 toType: 'dir' 5 }, { 6 from: 'static', 7 to: 'static', 8 toType: 'dir' 9 }])
粗一看,也沒有什麼大問題,惟一特殊的是「global.BASE_URL」 。因而註釋掉這行代碼運行測試,發現怎麼修改組件代碼都不會報以前的錯誤,隱隱以爲勝利在即。爲了驗證心中所想,放出剛纔註釋掉的「blog
global.BASE_URL」,從新運行測試,發現以前那個報錯果真又出來了,因此能確定是這個變量引發的問題了(這個變量引用實際上是另外一個很值得探討的問題,後面會另開博客專門討論)。 因此,小夥伴兒們應該知道怎麼解決這個問題了哈。