usage node_modules iconfont icon fuente font cli fonts webpack vue.js vuejs2 webpack-2

fonts - node_modules - Cargando en fuentes locales con webpack 2 y vue-cli



node_modules material design icons iconfont material icons css (1)

Estoy usando la plantilla de paquete web vue-cli y estoy tratando de cargar fuentes locales en mi proyecto. Tengo problemas para corregir el camino a mis fuentes. ¿Cómo debería ser mi camino?

Encontré información sobre lo que podría estar haciendo mal, pero no pude resolverlo: https://github.com/webpack-contrib/sass-loader#problems-with-url

Estructura del archivo:

En mi _fonts.scss:

// Webfont: LatoLatin-Regular @font-face { font-family: ''LatoLatinWeb''; src: url(''../assets/fonts/LatoLatin-Regular.eot''); /* IE9 Compat Modes */ src: url(''../assets/fonts/LatoLatin-Regular.eot?#iefix'') format(''embedded-opentype''), /* IE6-IE8 */ url(''../assets/fonts/LatoLatin-Regular.woff2'') format(''woff2''), /* Modern Browsers */ url(''../assets/fonts/LatoLatin-Regular.woff'') format(''woff''), /* Modern Browsers */ url(''../assets/fonts/LatoLatin-Regular.ttf'') format(''truetype''); font-style: normal; font-weight: normal; text-rendering: optimizeLegibility; }

Webpack.base.config.sj:

{ test: //.(woff2?|eot|ttf|otf)(/?.*)?$/, loader: ''url-loader'', options: { limit: 10000, name: utils.assetsPath(''fonts/[name].[hash:7].[ext]'') } }

Utils.js:

return { css: generateLoaders(), postcss: generateLoaders(), less: generateLoaders(''less''), sass: generateLoaders(''sass'', { indentedSyntax: true }), scss: generateLoaders(''sass'').concat( { loader: ''sass-resources-loader'', options: { resources: path.resolve(__dirname, ''../src/styles/_variables.scss'') } } ).concat( { loader: ''sass-resources-loader'', options: { resources: path.resolve(__dirname, ''../src/styles/mixins/_mixins.scss'') } } ).concat( { loader: ''sass-resources-loader'', options: { resources: path.resolve(__dirname, ''../src/styles/_fonts.scss'') } } ), stylus: generateLoaders(''stylus''), styl: generateLoaders(''stylus'') }

¿Cómo cargo mis fuentes locales con la plantilla vue-cli webpack?


Importe mis fuentes de esta manera:

$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 // // ***************** //

Todas mis fuentes se encuentran en src/assets/fonts/

Mi archivo webpack.base.conf contiene este cargador:

{ test: //.(woff2?|eot|ttf|otf)(/?.*)?$/, loader: ''url-loader'', options: { limit: 10000, name: utils.assetsPath(''fonts/[name].[hash:7].[ext]'') } },