You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

CSS-in-JS中@import引入Font Awesome图标失效问题咨询

CSS-in-JS中@import引入Font Awesome图标失效问题咨询

最近在把项目里的样式迁移到Emotion(CSS-in-JS方案)时遇到了个小问题,想请教下各位:

之前我在普通CSS文件里引入Font Awesome图标是这么写的,一直都正常:

/* src/App.css */
@import "@fortawesome/fontawesome-free/css/all.css";

但当我把这段引入移到Emotion的Global全局样式中后,Font Awesome图标突然就不显示了,我的代码是这样的:

// src/App.js
import { css, Global } from '@emotion/react';

const imports = css`
  @import "@fortawesome/fontawesome-free/css/all.css";
`;

// 渲染全局样式
<Global styles={imports} />

试了好几种方法,最后把路径改成指向node_modules的相对路径,图标才恢复正常:

const imports = css`
  @import '../node_modules/@fortawesome/fontawesome-free/css/all.css';
`;

我有点疑惑,是不是@开头的这种模块别名式的路径写法,只有普通CSS文件会被打包工具(比如Webpack)识别处理?还是Emotion在解析@import时有什么特殊的逻辑导致的呢?


备注:内容来源于stack exchange,提问作者wyc

火山引擎 最新活动