React Native中仅链接字体的方法

21

我正在使用React Native,并且我只想链接我的字体,不需要其他内容。

我正在使用React Native地图(react-native-maps),文档中明确指出“不要使用react-native link”。

无论我看哪里,我都看到人们说要使用 react-native link 来链接字体,但我想知道是否有专门用于链接字体的正确语法,例如:

react-native link ./assets/fonts 或者类似的东西?这样它就不会同时链接所有其他库了。

6个回答

14

您可以给react-native link命令传递一个在您的package.json文件中不存在的参数/名称——这将导致该命令的任务列表仅包含链接资源任务

因此,react-native link ./assets/fonts不是有效的命令,但它应该能够工作。

请记住,您需要按照Hamed的答案中的说明,在package.json中指定字体目录。


2
错误:无法找到模块“/ node_modules / assets / fonts / package.json”,不适用于react-native-cli:2.0.1。 - Ilia Sidorenko
此错误不会影响连接资产,仍能正常运行。 - Lukáš Pikora

10

10

我只是要手动链接它们,虽然这对于react-native-maps来说是一个非常奇怪的要求。在React Native中,几乎所有作为单独库存在的东西都需要链接。

如果有其他更好的答案,请告诉我。

https://medium.com/@kswanie21/custom-fonts-in-react-native-tutorial-for-ios-android-76ceeaa0eb78

^ 我知道stackoverflow不喜欢链接,但这里有很多步骤和图片。

编辑

很酷的事情是,如果你做react-native link <specific-library-name-here>,那么React Native将首先链接你的资产,然后链接那个特定的库。因此,如果您只想链接字体,可以通过链接一些特定库来实现。

编辑2

如果你只想链接你的资产文件夹,请尝试react-native link "package-that-does-not-exist",它仍然会链接你的资产而不链接其他任何内容。


7
如果React Native版本≥0.60 请在项目根目录中创建文件react-native.config.js并添加以下代码。
module.exports = {
  project: {
    ios: {},
    android: {}
  },
  assets: ["./assets/fonts/"]
};

执行以下命令:react-native linknpx react-native link


1
有时候你可能已经正确地编写了react-native.config.js文件,但在这种情况下;如果你执行这些任务,它会帮助你:
1- 删除react-native.config.js文件
2- 重新创建同样的代码文件
3- 在控制台中输入react-native link
然后你可以在Xcode中看到资源文件夹,并且可以在info.plist和复制捆绑资源中看到你的字体。

0

虽然Marek Lisik的答案对我没有用,而且我也不想为这样一个小任务使用第三方库。 所以,我通过手动将字体文件复制到Android开发的以下文件夹中来解决了它。

your_app\android\app\src\main\assets\fonts

对于 iOS,您也可以按照E Pierre的答案操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接