typescript項目中import 圖片時報錯:TS2307: Cannot find module ‘...’


  最近在用typescript寫項目時,我用import來加載一個圖片,webpack編譯文件是會報錯如下:

報錯:

解決:

  如果在js中引入本地靜態資源圖片時使用import img from './img/bd_logo1.png'這種寫法是沒有問題的,但是在typscript中是無法識別非代碼資源的,所以會報錯TS2307: cannot find module '.png'。因此,我們需要主動的去聲明這個module。新建一個ts聲明文件如:images.d.ts(如下)就可以了。這樣ts就可以識別svg、png、jpg等等圖片類型文件。項目編譯過程中會自動去讀取.d.ts這種類型的文件,所以不需要我們手動地加載他們。當然.d.ts文件也不能隨便放置在項目中,這類文件和ts文件一樣需要被typescript編譯,所以一樣只能放置在tsconfig.json中include屬性所配置的文件夾下。

declare module '*.svg'
declare module '*.png'
declare module '*.jpg'
declare module '*.jpeg'
declare module '*.gif'
declare module '*.bmp'
declare module '*.tiff'

 


免責聲明!

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



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