react中引入圖片路勁正確但是頁面上不顯示或者打包后不能正常顯示的問題


一、react中圖片引入方式

  以前我們用img引入圖片只需要如下即可,在react中這樣寫會報錯:

<img src="../assets/zzsc1.png" />

  

  下面我總結了兩種方式:

  1、用require方式引入路勁:     錯誤用法:

  

<img src={require("./zzsc1.png")} />

  

  上面這樣寫也是不會生效的,因為如果使用create-react-app和require導入圖像,require返回一個ES模塊而不是字符串。這是因為在file-loader中,esModule選項是默認啟用的。

  所以用以下方式之一導入圖像:后面加上.default即可

<img src={require("./zzsc1.png").default} />

  2、通過!important引入

import zzsc from "./zzsc1.png"

   然后在img中直接引入變量即可,這個變量名字可任意取

<img src={zzsc} />

   效果圖如下:

然而有的時候你開發環境圖片顯示出來了,但是在打包后部署到測試環境上時會發現,圖片又沒了,抓耳撓腮,想不明白問題出在哪里。其實很簡單,由於部署的時候增加了二級域名,但是打包后的文件l中引入的靜態資源路徑是從根目錄引入的,其實在根域名下並沒有這個靜態資源,導致引入失敗,無法加載,public為根目錄,在打包時只能檢索到你public文件夾下的圖片,所以在放圖片素材的時候,圖片位置也非常重要!統一都放到public文件下即可。上代碼:

<img src='images/zzsc2.png' />

 


免責聲明!

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



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