我已经在 monorepo 中设置了一个反应本机应用程序作为工作区。我这样做是因为我想分享我在移动应用程序和网络应用程序之间创建的一些反应组件。
我的仓库的基本结构是:
root/
package.json (with nohoist: ["**/expoapp/**"])
modules/
...shared modules, some simple JS, some react
apps/
web/ (cra-based web app)
mobile/
package.json
metro.config.js (addes watchFolders and extraNodeModules)
App.js
Run Code Online (Sandbox Code Playgroud)
我可以将简单的 JS 模块从模块目录导入到我的移动应用程序中。
但是当我尝试导入我的反应组件之一时,我收到此错误:
Unable to resolve module @babel/runtime/helpers/interopRequireDefault from /Users/jim/development/.../modules/dumb-module/index.js: @babel/runtime/helpers/interopRequireDefault could not be found within the project.
Run Code Online (Sandbox Code Playgroud)
控制台中的错误消息指向我的反应组件的第一行:
iOS Bundling failed 3378ms
Unable to resolve module @babel/runtime/helpers/interopRequireDefault from /Users/jim/development/.../modules/dumb-module/index.js: @babel/runtime/helpers/interopRequireDefault could not be found within the project.
If you are sure the module exists, try these steps:
1. …Run Code Online (Sandbox Code Playgroud)