无法在React Native> = 0.60中链接资产(字体)

Sir*_*lam 5 react-native

react-native: 0.60.4,
react: 16.8.6,
npm: 6.10.1
XCode: 10.2.1
AndroidStudio: 3.4.1
Run Code Online (Sandbox Code Playgroud)

我使用创建了一个项目

npx react-native init awesomeApp --template typescript

我把我的资产放在

assets/fonts/<Bunch of .ttf files>
Run Code Online (Sandbox Code Playgroud)

我的目录结构

awesomeApp
|
+--android
+--ios
+--assets
|  |
|  +---fonts
|      |
|      +-- ProximaNova-Bold.ttf
+--react-native-config.js
Run Code Online (Sandbox Code Playgroud)

然后我跑了 react-native link

什么都没发生,XCode既未显示任何已添加的资源,也未显示android,并且在我运行时react-native run-ios显示未找到字体的错误。

我的 react-native-config.js

module.exports = {
    project: {
        ios: {},
        android: {},
    },
    assets: ['./assets/fonts']
};
Run Code Online (Sandbox Code Playgroud)

我也曾尝试 yarn react-native linknpx react-native link

Sir*_*lam 26

好吧,最后,我链接了我的字体,

我只是改名为我的文件react-native-config.jsreact-native.config.js和它的工作。

我不知道这是否是正确的方法,我只是尝试过,至少对我来说奏效了。

这是链接自定义字体的完整演练。


Att*_*que 12

For React-native > 0.69, npx react-native link is no longer working

Use npx react-native-asset instead


小智 6

我的 react-native.config.js

module.exports = {
project: {
    ios: {},
    android: {},
},
assets: ['./assets/fonts/'],
};
Run Code Online (Sandbox Code Playgroud)

和日志:

info Linking assets to ios project                                                                                      
info Linking assets to android project                                                                                  
success Assets have been successfully linked to your project
Run Code Online (Sandbox Code Playgroud)

但我的错误是:

错误的方法:

fontFamily: BYekan
Run Code Online (Sandbox Code Playgroud)

正确的方法:

fontFamily: 'BYekan'
Run Code Online (Sandbox Code Playgroud)

只需将字体名称放在 ''

  • 不是我问的问题。 (3认同)