I\'m using the vue-cli webpack template and I\'m trying to load in local fonts in my project. I\'m having trouble getting the path to my fonts correct. How should my path lo
I import my fonts this way:
$font_path: '~@/assets/fonts/';
// *********** //
// SOURCE SANS //
// ITALIC
@font-face{
font-family : 'Source Sans Pro';
src : url($font_path +'SourceSansPro-Italic.eot'); /* IE9 Compat; Modes */
src : url($font_path +'SourceSansPro-Italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url($font_path +'SourceSansPro-Italic.woff2') format('woff2'), /* Modern Browsers */ url($font_path +'SourceSansPro-Italic.woff') format('woff'); /* Modern Browsers */
font-style : italic, oblique;
font-weight : 400;
text-rendering : optimizeLegibility;
}
// REGULAR
@font-face{
font-family : 'Source Sans Pro';
src : url($font_path +'SourceSansPro-Regular.eot'); /* IE9 Compat; Modes */
src : url($font_path +'SourceSansPro-Regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url($font_path +'SourceSansPro-Regular.woff2') format('woff2'), /* Modern Browsers */ url($font_path +'SourceSansPro-Regular.woff') format('woff'); /* Modern Browsers */
font-style : normal;
font-weight : 400;
text-rendering : optimizeLegibility;
}
// SEMI BOLD
@font-face{
font-family : 'Source Sans Pro';
src : url($font_path +'SourceSansPro-Semibold.eot'); /* IE9 Compat; Modes */
src : url($font_path +'SourceSansPro-Semibold.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url($font_path +'SourceSansPro-Semibold.woff2') format('woff2'), /* Modern Browsers */ url($font_path +'SourceSansPro-Semibold.woff') format('woff'); /* Modern Browsers */
font-style : normal;
font-weight : 600;
text-rendering : optimizeLegibility;
}
// Use "font-family: $source_sans_pro" in your code.
$source_sans_pro : 'Source Sans Pro', sans-serif;
// [END] SOURCE SANS //
// ***************** //
All my fonts are located in src/assets/fonts/
My webpack.base.conf
file contains this loader:
{
test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
loader: 'url-loader',
options: {
limit: 10000,
name: utils.assetsPath('fonts/[name].[hash:7].[ext]')
}
},
In the vuejs project I am working on,
This one did not worked:
@font-face {
font-family: 'name-of-choice';
src: url("~@/assets/<location-to-your-font-file>/font-file-name.ttf") format('font-type');
}
This worked:
@font-face {
font-family: 'name-of-choice';
src: url(~@/assets/<location-to-your-font-file>/font-file-name.ttf) format('font-type');
}
And I've observed that if we use the solution without double quote for one single time and then add double quotes, it again works! If anyone know what's happening here, please do answer.
Solution: Try not enclosing URL String in quotes.