由于我已升级到Expo SDK 38,因此在启动应用程序时出现此错误。我需要升级到SDK38,因为Android不允许我发布任何其他版本。
这在SDK37上运行良好,我唯一更改的是我已经使用expo upgrade升级了所有软件包,并且发生了错误error: unknown option --assetExts
,因此我不得不从app.json中删除它,这可能是原因。我将assetExts
更改为sourceExts
,使其可以编译,但这也许正在停止字体的工作。.
"packagerOpts": {
"assetExts": ["otf", "ttf"]
},
我在这里跟随将字体预加载到App.js中的示例,这是我可以找到的所有其他答案的建议,但仍然出现错误。
我还尝试删除了我的node_modules,package.json.lock和.expo文件夹,所有这些都无济于事。
https://docs.expo.io/guides/preloading-and-caching-assets/#pre-loading-and-caching-assets
import { FontAwesome } from "@expo/vector-icons";
function cacheFonts(fonts) {
return fonts.map((font) => Font.loadAsync(font));
}
const fontAssets = cacheFonts([FontAwesome.font]);
await Promise.all([...fontAssets]);
答案 0 :(得分:0)
原来这是一个缓存问题,代码绝对正确。我以为我已经清除了所有东西,但显然还没有。
删除了node_modules,再次package.json.lock并安装了npm并正常工作。