在sass使用@font-face報錯not found的解決辦法分享


在自己搭建腳手架的過程遇到一些坑,有坑才有進步~

寫這個為了記錄一下坑的同時,也可以作為一些經驗分享給有需要的人。

報錯截圖:在scss文件寫@font-face的時候,編譯就已經報錯啦

至於原因呢,查了一下,官網是這樣說的:

由於 Sass/libsass 並沒有提供url rewriting 的功能,所以所有的鏈接資源都是相對輸出文件(output)而言。

  • 如果生成的 CSS 沒有傳遞給 css-loader,它相對於網站的根目錄。
  • 如果生成的 CSS 傳遞給了 css-loader,則所有的 url 都相對於入口文件(例如:main.scss)。

第二種情況可能會帶來一些問題。正常情況下我們期望相對路徑的引用是相對於 .scss 去解析(如同在 .css文件一樣)。幸運的是,有2個方法可以解決這個問題:

解決辦法一:

在sass-loader之前,再加一個resolve-url-loader,安裝就不用我講了吧~

解決方法二:

src使用絕對路徑,雖然有點不優雅,因為別人本地的項目路徑不一定一樣

還有一個很黑暗的方法就是。。使用vscode的easy-sass插件將我們的聲明字體的scss文件編譯成css,再將該css通過@import到我們所用到的組件中去。哈哈哈哈

如果有大神有更加優雅的方法,可以一起分享一下,感激~~

 

 


免責聲明!

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



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