一种仅 link 字体响应原生的方法
A way to only link fonts react native
我正在使用 React Native,我只想 link 我的字体,没有别的。
我正在使用 react-native-maps,它在文档中特别说明 "Do not use react-native link
"
我到处都看到人们说要 react-native link
才能 link 字体,但我想知道是否有适合 linking 字体的语法,例如:
react-native link ./assets/fonts
之类的?这样它就不会 link 我所有的其他库
我将手动 link 他们。不过,这对 react-native-maps
来说是一个非常奇怪的要求。 react-native 中几乎所有的独立图书馆都需要 linking.
如果其他人有更好的答案,请告诉我。
https://medium.com/@kswanie21/custom-fonts-in-react-native-tutorial-for-ios-android-76ceeaa0eb78
^ 我知道堆栈溢出不喜欢 links 但有很多步骤和图像。
编辑
很酷,如果您这样做 react-native link <specific-library-name-here>
,那么 react-native 将首先 link 您的资产,然后 link 那个特定的图书馆。因此,如果您只想 link 您的字体,您可以通过 link 一些特定的库来实现。
编辑 2
如果您只想 link 您的资产文件夹,请尝试 react-native link "package-that-does-not-exist"
,它仍然会 link 您的资产,而不会 link 任何其他内容。
您可以给 react-native link
一个在您的 package.json
中不存在的参数/名称 - 这将导致命令的任务列表仅包含 link assets task.
所以 react-native link ./assets/fonts
不是一个有效的命令,但它应该可以工作。
请记住,您需要根据 Hamed's answer 在 package.json 中指定的字体目录。
有一个名为 react-native-assets
的合适包,它仅链接和取消链接资产。节省了我手动链接的时间。
虽然 Marek Lisik 答案对我没有用,而且我也不想使用第三方库来完成这么小的任务。
因此,我通过复制 follwing 文件夹中的字体文件手动解决了这个问题 android 开发。
your_app\android\app\src\main\assets\fonts
对于ios,您也可以按照E Pierre回答。
如果 React Native 版本 ≥ 0.60
在项目根目录下创建文件react-native.config.js
并添加以下代码
module.exports = {
project: {
ios: {},
android: {}
},
assets: ["./assets/fonts/"]
};
和运行命令:react-native link
或npx react-native link
有时你在这种情况下正确地写了 react-native.config.js ;如果您执行此任务,它会对您有所帮助
1-删除react-native.config.js文件
2- 使用相同的代码再次创建此文件
3- 在控制台中写入 react-native link
然后你可以在 Xcode 中看到资源文件夹,你可以在 info.plist 中看到你的字体并复制资源包
我正在使用 React Native,我只想 link 我的字体,没有别的。
我正在使用 react-native-maps,它在文档中特别说明 "Do not use react-native link
"
我到处都看到人们说要 react-native link
才能 link 字体,但我想知道是否有适合 linking 字体的语法,例如:
react-native link ./assets/fonts
之类的?这样它就不会 link 我所有的其他库
我将手动 link 他们。不过,这对 react-native-maps
来说是一个非常奇怪的要求。 react-native 中几乎所有的独立图书馆都需要 linking.
如果其他人有更好的答案,请告诉我。
https://medium.com/@kswanie21/custom-fonts-in-react-native-tutorial-for-ios-android-76ceeaa0eb78
^ 我知道堆栈溢出不喜欢 links 但有很多步骤和图像。
编辑
很酷,如果您这样做 react-native link <specific-library-name-here>
,那么 react-native 将首先 link 您的资产,然后 link 那个特定的图书馆。因此,如果您只想 link 您的字体,您可以通过 link 一些特定的库来实现。
编辑 2
如果您只想 link 您的资产文件夹,请尝试 react-native link "package-that-does-not-exist"
,它仍然会 link 您的资产,而不会 link 任何其他内容。
您可以给 react-native link
一个在您的 package.json
中不存在的参数/名称 - 这将导致命令的任务列表仅包含 link assets task.
所以 react-native link ./assets/fonts
不是一个有效的命令,但它应该可以工作。
请记住,您需要根据 Hamed's answer 在 package.json 中指定的字体目录。
有一个名为 react-native-assets
的合适包,它仅链接和取消链接资产。节省了我手动链接的时间。
虽然 Marek Lisik 答案对我没有用,而且我也不想使用第三方库来完成这么小的任务。 因此,我通过复制 follwing 文件夹中的字体文件手动解决了这个问题 android 开发。
your_app\android\app\src\main\assets\fonts
对于ios,您也可以按照E Pierre回答。
如果 React Native 版本 ≥ 0.60
在项目根目录下创建文件react-native.config.js
并添加以下代码
module.exports = {
project: {
ios: {},
android: {}
},
assets: ["./assets/fonts/"]
};
和运行命令:react-native link
或npx react-native link
有时你在这种情况下正确地写了 react-native.config.js ;如果您执行此任务,它会对您有所帮助
1-删除react-native.config.js文件
2- 使用相同的代码再次创建此文件
3- 在控制台中写入 react-native link
然后你可以在 Xcode 中看到资源文件夹,你可以在 info.plist 中看到你的字体并复制资源包