【发布时间】:2023-04-11 09:16:02
【问题描述】:
我通过 flaticon 下载了一些图标。 现在我试图在我的组件中使用一个图标,但是出了点问题。 我在我的组件中导入 css,并将我的 webpack.config.json 设置为使用文件加载器加载所有字体文件。
我做错了什么?
我在 webpack.config.json 中的加载器:
loaders: [
{
test: /\.(jpe?g|png|gif|svg|eot|ttf|woff)$/i,
loader: 'file-loader',
query:{
hash:'sha512',
digest:'hex',
name:'[hash].[ext]'
}
},
{
test: /\.jsx?$/,
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
query: {
presets: ['react'],
}
},
{
test: /\.css$/,
exclude: /(node_modules|bower_components)/,
loader: combineLoaders([
{
loader: 'style-loader'
}, {
loader: 'css-loader',
query: {
modules: true,
camelCase: 'dashes',
localIdentName: '[name]__[local]___[hash:base64:5]'
}
}
])
}
]
我的组件 - LocationIndicator.js:
import React from 'react';
import locationFonts from '../../../location-fonts/flaticon.css';
var LocationIndicator = React.createClass({
render: function () {
return(
<span className={locationFonts['flaticon-cactus']}></span>
);
}
});
export default LocationIndicator;
flaticon.css:
/*
Flaticon icon font: Flaticon
Creation date: 24/02/2017 14:52
*/
@font-face {
font-family: "Flaticon";
src: url("./Flaticon.eot");
src: url("./Flaticon.eot?#iefix") format("embedded-opentype"),
url("./Flaticon.woff") format("woff"),
url("./Flaticon.ttf") format("truetype"),
url("./Flaticon.svg#Flaticon") format("svg");
font-weight: normal;
font-style: normal;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
@font-face {
font-family: "Flaticon";
src: url("./Flaticon.svg#Flaticon") format("svg");
}
}
[class^="flaticon-"]:before, [class*=" flaticon-"]:before,
[class^="flaticon-"]:after, [class*=" flaticon-"]:after {
font-family: Flaticon;
font-size: 20px;
font-style: normal;
margin-left: 20px;
}
.flaticon-cactus:before { content: "\f100"; }
.flaticon-desert-cactus:before { content: "\f101"; }
.flaticon-location:before { content: "\f102"; }
.flaticon-map-marker:before { content: "\f103"; }
.flaticon-map-with-position-marker:before { content: "\f104"; }
.flaticon-placeholder-circle:before { content: "\f105"; }
.flaticon-placeholder-map:before { content: "\f106"; }
ttf、eot、woff、svg 文件与 css 位于同一位置
谢谢!
编辑: 我正在添加编译后源代码的打印屏幕,文件名和引用仍然匹配...
【问题讨论】:
-
你遇到了什么错误?
-
这是有趣的部分,我没有收到任何错误
标签: css reactjs fonts webpack icons