因此,我有以下字体设置:
$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)的文件夹时,构建会失败,因为它找不到字体。
发布于 2017-05-31 18:57:25
使用file-loader,并在您的规则中使用类似以下内容(取自我的项目的示例):
{
test: /\.(woff2?|ttf|otf|eot|svg)$/,
exclude: /node_modules/,
loader: 'file-loader',
options: {
name: '[path][name].[ext]'
}
}这会将文件复制到您的build文件夹中,并将正确的URL注入到CSS中的这些文件中。
第二件事是将resolve-url-loader添加到您的scss规则:
{
test: /\.scss$/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: ['css-loader', 'resolve-url-loader', 'sass-loader?sourceMap']
})
}https://stackoverflow.com/questions/44260179
复制相似问题