解決React在安裝antd之後出現的Can't resolve './locale'問題,兩種方案

React在安裝antd之後出現的Can’t resolve './locale’或者瀏覽器顯示Cannot find module './locale’問題,是因爲moment的版本有問題,而react默認使用了最新的moment,但是在[email protected]中是沒有問題的。

1.第一種解決方法

解決方案就是配置webpack的alias,將所有的 moment 路徑引用導入到 [email protected]

操作步驟

  1. 安裝moment 依賴 npm install [email protected]

  2. 在react項目中使用yarn eject或者npm run eject暴露config文件。如果沒有安裝yarn,則 先使用npm install -g yarn,再使用yarn eject暴露config文件。文件結構如圖:文件結構

  3. config/webpack.config.js中找到alias添加一行"moment$": "moment/moment.js",步驟3的結果

2.第二種解決方法

可能存在第一種方法無效的情況。第二種方法還是修改版本,在package.json裏邊操作

操作步驟:

  1. npm uninstall moment
  2. npm install [email protected],然後使用 npm start,此時可能已經生效。如果無效進行第三步
  3. package.json新增 如下代碼:
 "resolutions": {
    "moment": "2.24.0"
  },

結果如圖
package.json

  1. 再次npm start應該可以生效

發完這個閱讀量升好快呀,是有很多人遇見相同問題嘛?如果有解決你的問題可以評論一下嘛?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章