为什么我的世博会应用程序运行在世博会去,而不是作为一个开发构建?



我已经使用EAS创建了一个世博会应用程序的开发构建。以前我会通过运行npx expo start并扫描Metro Bundler QR码来打开Expo Go中的应用程序。

现在,当我试图做同样的事情时,世博问我是想在世博中打开项目还是作为"发展大厦"。它在Expo Go中工作得很好,但当我试图打开开发构建时立即崩溃。错误如下:

null不是对象(求值'_ReanimatedModule.default.createNode')

这个错误与我在开发早期遇到的错误相似,我通过降级到React Native版本0.69.6解决了这个问题。我还遇到了第二个错误,说"'main'尚未注册",但我怀疑这是第一个错误的下游。

当我尝试使用npx expo start --dev-client运行应用程序时,我也有同样的问题。

知道为什么我可能会有这个问题吗?

听起来您可能已经运行expo prebuild(https://docs.expo.dev/workflow/prebuild/),从app.json中删除"main": "node_modules/expo/AppEntry.js",。试着创建一个新的博览会应用程序,看看它的app.json文件。

当你运行expo prebuild时,它会改变你的项目中的一些事情(参见"副作用")。

实际上我现在也在解决一些问题。我认为我必须运行预构建,但事实证明我没有必要。自从我运行它,我的应用程序将不会通过开发客户端方式加载。但是,我可以切换回npx expo start(不是npx expo start --dev-client,请参阅app.jsonscripts部分,因为在运行预构建时也会更改)。

让我知道如果你能让你的应用程序加载后,重新添加main的东西到app.json

Ps,你是碰巧使用react-native-google-mobile-ads吗?

最新更新