仅链接字体的方法会对原生

时间:2018-03-01 19:54:59

标签: react-native react-native-maps

我正在使用本机反应,我只想链接我的字体而不是别的。

我正在使用react-native-maps,它在文档中明确指出"不要使用react-native link"

我看到的任何地方我看到有人说要react-native link来链接字体,但我很怀疑是否有正确的语法来链接字体,如:

react-native link ./assets/fonts还是什么?这样它也不会链接我所有的其他库

6 个答案:

答案 0 :(得分:9)

您可以为react-native link提供package.json中不存在的参数/名称 - 这将导致该命令的任务列表仅包含link assets task

所以react-native link ./assets/fonts不是一个有效的命令,但应该有效。

请记住,您需要根据Hamed's answer在package.json中指定字体目录。

答案 1 :(得分:5)

我只是想手动链接它们。这对react-native-maps来说是一个非常奇怪的要求。作为单个库的react-native中的几乎所有内容都需要链接。

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

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

^我知道堆栈溢出不喜欢链接但是有很多步骤和图像。

修改

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

答案 2 :(得分:1)

有一个名为react-native-assets的合适程序包,该程序包仅链接和取消链接资产。为我节省了一些手动链接的时间。

https://www.npmjs.com/package/react-native-asset

答案 3 :(得分:1)

如果React Native版本≥0.60

在项目根目录中创建文件react-native.config.js并添加以下代码

module.exports = {
  project: {
    ios: {},
    android: {}
  },
  assets: ["./assets/fonts/"]
};

并运行命令:react-native linknpx react-native link

答案 4 :(得分:0)

尽管Marek Lisik的答案对我不起作用,我也不想将第三方库用于如此小的任务。 因此,我通过将字体文件复制到用于Android开发的文件夹中手动解决了该问题。

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

对于ios,您还可以遵循E Pierre的答案。

答案 5 :(得分:0)

有时您会在这种情况下正确地编写react-native.config.js;如果您执行此任务,它将对您有帮助

1-删除react-native.config.js文件

2-再次使用相同的代码创建该文件

3-在控制台中编写本机链接

然后您可以在Xcode中看到resources文件夹,并且可以在info.plist中看到字体并复制包资源