首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Webpack sass-loader:如何正确使用字体?

Webpack sass-loader:如何正确使用字体?
EN

Stack Overflow用户
提问于 2017-05-30 18:49:52
回答 1查看 13.6K关注 0票数 3

因此,我有以下字体设置:

代码语言:javascript
复制
$font-path: '~@/assets/fonts/';
@font-face {
    font-family: 'mainFont';
    font-weight: 300;
    font-style: normal;
    src: url('#{$font-path}mainFont/mainFont.eot') format('eot'),
    url('#{$font-path}mainFont/mainFont.woff2') format('woff2'),
    url('#{$font-path}mainFont/mainFont.woff') format('woff'),
    url('#{$font-path}mainFont/mainFont.ttf') format('truetype'),
    url('#{$font-path}mainFont/mainFont.svg#mainFont') format('svg');
}

构建(使用vue.js webpack btw)按预期工作。不过,该应用程序将无法加载字体。src urls指向错误的目录。当将$font-path更改为相对于输出文件(as suggested)的文件夹时,构建会失败,因为它找不到字体。

EN

回答 1

Stack Overflow用户

发布于 2017-05-31 18:57:25

使用file-loader,并在您的规则中使用类似以下内容(取自我的项目的示例):

代码语言:javascript
复制
{
    test: /\.(woff2?|ttf|otf|eot|svg)$/,
    exclude: /node_modules/,
    loader: 'file-loader',
    options: {
        name: '[path][name].[ext]'
    }
}

这会将文件复制到您的build文件夹中,并将正确的URL注入到CSS中的这些文件中。

第二件事是将resolve-url-loader添加到您的scss规则:

代码语言:javascript
复制
{
    test: /\.scss$/,
    use: ExtractTextPlugin.extract({
        fallback: 'style-loader',
        use: ['css-loader', 'resolve-url-loader', 'sass-loader?sourceMap']
    })
}
票数 13
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44260179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档