我正在使用本机反应,我只想链接我的字体而不是别的。
我正在使用react-native-maps,它在文档中明确指出"不要使用react-native link
"
我看到的任何地方我看到有人说要react-native link
来链接字体,但我很怀疑是否有正确的语法来链接字体,如:
react-native link ./assets/fonts
还是什么?这样它也不会链接我所有的其他库
答案 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
的合适程序包,该程序包仅链接和取消链接资产。为我节省了一些手动链接的时间。
答案 3 :(得分:1)
如果React Native版本≥0.60
在项目根目录中创建文件react-native.config.js
并添加以下代码
module.exports = {
project: {
ios: {},
android: {}
},
assets: ["./assets/fonts/"]
};
并运行命令:react-native link
或npx 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中看到字体并复制包资源