【发布时间】:2020-01-21 23:59:04
【问题描述】:
我正在使用自定义 Webpack 构建器运行 Angular 8。
"builder": "@angular-builders/custom-webpack:browser",
我引用了ngx-datatable,我引用了css,如下:
@import '~@swimlane/ngx-datatable/release/assets/icons.css';
引用的 css 文件具有如下字体:
@font-face {
font-family: "data-table";
src:url("fonts/data-table.eot");
src:url("fonts/data-table.eot?#iefix") format("embedded-opentype"),
url("fonts/data-table.woff") format("woff"),
url("fonts/data-table.ttf") format("truetype"),
url("fonts/data-table.svg#data-table") format("svg");
font-weight: normal;
font-style: normal;
我想要做的是将数据表字体文件内联到我的 webpack 构建中。我的理解是,在安装 base64-inline-loader 之后,我应该能够拥有一个如下所示的自定义 webpack 配置:
module.exports = {
module: {
rules: [
{
test: /\.(jpe?g|png|ttf|eot|svg|woff(2)?)(\?[a-z0-9=&.]+)?$/,
use: 'base64-inline-loader'
}
]
}
};
但是,在运行构建之后,没有任何内容被内联,我可以看到浏览器正在向
发出请求http://localhost:4200/data-table.woff
我不清楚如何解决这个问题。我的理解是,对于 .png、.woff、.eot 等文件,默认的 Angular webpack 配置将使用文件加载器,它将在 dist 目录中输出文件的哈希版本。然而,即使在添加 base64-inline-loader 之后,我仍然看到文件被复制和散列,而不是内联。
编辑
我认为我的问题与Angular 7, svg and sass how to set relative path 有关,但我仍然不确定如何解决。
【问题讨论】:
-
您能否分享您完整的
webpack.config以及您调用它的完整命令行?npm ls webpack的输出是什么?
标签: html css angular webpack fonts