【React】dva-cli建立腳手架后發現頁面樣式不對的問題


用dva-cli作為腳手架建立工程后,開始嘗試編寫頁面。然后立馬發現一個坑爹的問題。

在我less文件里面寫了一個class ,比如:MainHead。

但是編譯出來之后發現css文件里面變成了 MainHead__xuaz,多了一個后綴,坑爹嘛這是!!!

一番查找后發現原來是引用了css-modules這個包。

為了卸載這個包,我翻找了半天。照例來說應該在webpack的時候屏蔽這個包。

可惜node項目不知道說封裝了太好了還是怎么的,dva生成的腳手架里面根本就沒有webpack.config.js這個包。

終於,在我的不懈努力下終於發現問題的主因了。

原因就在於dva是用一個叫rodhog的工具打包的。

在root目錄下,有一個叫.roadhogrc的配置文件。

打開這個文件,里面有一個【disableCSSModules】的配置項。默認是false,啟動css-modules,只要將它改成true,就可以屏蔽掉css-modules了。

 

-----------------------------------------------------------------一年后的分割線--------------------------------------------------------------------------------------------------

因為項目時間關系,轉而使用相對簡單易懂的Vue來開發項目。

吭哧吭哧整了一年終於將項目完結,重新拾起React后,發現自己犯了一個很基礎的錯誤。

 

react里使用css-modules是正確的。目的是防止組件間的css名稱污染。

而react中調用less中的class時,應該使用className,這樣編譯的時候能保證組件中的class名和less中的class名保持一致。

 

如此粗淺而深刻的教訓實在是令人慚愧。同時也證明入門的時候要找本好的入門教程,先看書再看代碼,好過直接上手代碼。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM