我在使用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