【发布时间】:2018-01-27 09:09:47
【问题描述】:
我正在使用 vue-cli webpack 模板,并尝试在我的项目中加载本地字体。我无法正确获取字体的路径。我的路径应该是什么样子?
我发现了一些关于我可能做错了什么的信息,但我无法弄清楚:https://github.com/webpack-contrib/sass-loader#problems-with-url
文件结构:
在我的 _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')
}
如何使用 vue-cli webpack 模板加载我的本地字体?
【问题讨论】:
标签: fonts webpack vue.js vuejs2 webpack-2