react-native-web 阿里字体图标ttf文件不加载、乱码问题

本文介绍如何在React Native Web项目中配置Webpack加载字体图标,并通过url-loader进行资源管理。涵盖依赖安装、配置文件调整及样式表创建等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本文基于

  • “react-native”: “^0.73.0”
  • “react-native-web”: “^0.19.10”

问题

在这里插入图片描述

1.安装依赖

yarn add url-loader --dev

2.配置 webpack.config.js

include:存放字体图标文件的相对路径

module.exports = {
	...
	module: {
      rules: [
        ...
        {
          test: /\.ttf$/,
          loader: 'url-loader',
          include: path.resolve(__dirname, './src/assets/fonts/iconfont.ttf'),
        }
    ]
  },
}

3.修改 index.web.js 文件

import { AppRegistry } from 'react-native';
import App from './App.tsx';

AppRegistry.registerComponent('App', () => App);

AppRegistry.runApplication('App', {
  rootTag: document.getElementById('root')
});

// 存放字体图标文件的相对路径
import iconFont from './src/assets/fonts/iconfont.ttf';
const iconFontStyles = `@font-face {
  src: url(${iconFont});
  font-family: 'iconfont';
}`;

// 创建样式表
const style = document.createElement('style');
if (style.styleSheet) {
  style.styleSheet.cssText = iconFontStyles;
} else {
  style.appendChild(document.createTextNode(iconFontStyles));
}

// 添加到head
document.head.appendChild(style);

4.效果图

在这里插入图片描述

如果本篇文章对你有帮助的话,很高兴能够帮助上你。

当然,如果你觉得文章有什么让你觉得不合理、或者有更简单的实现方法又或者有理解不来的地方,希望你在看到之后能够在评论里指出来,我会在看到之后尽快的回复你。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值