我已经使用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.json
的scripts
部分,因为在运行预构建时也会更改)。
让我知道如果你能让你的应用程序加载后,重新添加main
的东西到app.json
。
Ps,你是碰巧使用react-native-google-mobile-ads
吗?