我在使用angular2應用程序中的相對路徑加載字體時遇到了問題。Webpack @ font-face相對路徑問題
在app.ts我有這兩個進口
import '../../../public/css/fonts.less';
import '../../../public/css/main.less';
的fonts.less我有這樣的@ font-face聲明內:
@font-face {
font-family: 'Montserrat';
src: url('/public/fonts/Montserrat/Montserrat-Regular.eot'); /* IE9 Compat Modes */
src: url('/public/fonts/Montserrat/Montserrat-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('/public/fonts/Montserrat/Montserrat-Regular.ttf') format('truetype'), /* Safari, Android, iOS */
url('/public/fonts/Montserrat/Montserrat-Regular.svg#Montserrat-Regular') format('svg'); /* Legacy iOS */
font-style: normal;
font-weight: normal;
text-rendering: optimizeLegibility;
}
這工作得很好。但是,如果我嘗試改變相對路徑,例如
url('../../fonts/Montserrat/Montserrat-Regular.eot');
我收到此錯誤:
ERROR in ./~/css-loader!./~/less-loader!./public/css/fonts.less Module not found: Error: Cannot resolve 'file' or 'directory' ../fonts/Montserrat/Montserrat-Regular.eot in [...] @ ./~/css-loader!./~/less-loader!./public/css/fonts.less 6:85-138 ERROR in ./public/css/fonts.less Module build failed: ModuleNotFoundError: Module not found: Error: Cannot resolve 'file' or 'directory' ../fonts/Montserrat/Montserrat-Regular.eot in [...]
有人知道可能是問題嗎?
P.S.我需要使用相對路徑的原因。
同樣的錯誤: 模塊未找到:錯誤:無法解析「文件」或「目錄」 ./fonts/Montserrat/Montserrat-Regular.eot在 – mkolev
確保你'path.resolve(__目錄名, 'public/fonts')'解析爲您的實際正確路徑。這只是一個例子 –
當然:)但這是正確的道路。我仍在研究它。 – mkolev