Ios main.jsbundle不存在。这一定是一个错误与。。升级到react native 0.63后的main.jsbundle问题
“反应”:“16.13.1”, “反应本机”:“0.63.0” 遇到以下问题:main.jsbundle不存在。在升级到react native 0.63后尝试存档时,这一定是一个有问题的bug。我想知道是否有人遇到同样的问题 找到了解决方案Ios main.jsbundle不存在。这一定是一个错误与。。升级到react native 0.63后的main.jsbundle问题,ios,xcode,react-native,Ios,Xcode,React Native,“反应”:“16.13.1”, “反应本机”:“0.63.0” 遇到以下问题:main.jsbundle不存在。在升级到react native 0.63后尝试存档时,这一定是一个有问题的bug。我想知道是否有人遇到同样的问题 找到了解决方案 在Xcode构建阶段->复制捆绑资源中,添加main.jsbundle 在package.json中,添加 因此将为我生成main.jsbundle错误发生,因为我有如下导入: import Component from '..'; cd $PROJE
main.jsbundle
package.json
中,添加因此将为我生成
main.jsbundle
错误发生,因为我有如下导入:
import Component from '..';
cd $PROJECT_DIR/..
export NODE_BINARY=node
./node_modules/react-native/scripts/react-native-xcode.sh
用相对路径(@components/path/to/component
)替换这些路径修复了该问题
不确定为什么现在解析这些路径有问题
我深入研究了node\u modules/react native/node\u modules/@react native community/cli/build/commands/bundle/buildBundle.js
,并在buildBundle
函数中放置了一个catch块,以便查看导入有问题的组件
我认为@changey的解决方案也有效,它只需要在CI中添加一个额外的构建步骤。将您的babel.config.js更改为.babelrc.js,它就会起作用。这在一个涉及
babel插件模块解析器的项目中对我有效:
在Xcode中打开您的ios/*.xcworkspace
在项目导航器中单击项目名称
单击左侧窗格中的目标名称
点击构建阶段
展开本机代码和映像阶段
在脚本的第一行,添加cd$PROJECT\u DIR/。
以进入目录
整个脚本应如下所示:
import Component from '..';
cd $PROJECT_DIR/..
export NODE_BINARY=node
./node_modules/react-native/scripts/react-native-xcode.sh
请注意,如果此问题的根源是0.63.0中的一个bug,则此问题可能会中断,因此您可能需要在将来的版本中撤消此问题
为@typester提供道具,用于启动此功能。我从0.62.5升级到了0.63,并遇到了相同的错误
在我的例子中,我发现在“Bundle react native code and images”构建阶段执行的react native xcode.sh
脚本将错误的条目文件(index.js
)传递给了build命令,而它本应使用index.ios.js
。不清楚为什么会在0.63中发生变化
对我有效的解决方案是在运行脚本时指定正确的条目文件:
在Xcode中,转到构建阶段->绑定本地代码和映像
更改脚本的这一部分
。/node\u modules/react native/scripts/react native xcode.sh
到ENTRY\u FILE=index.ios.js../node\u modules/react native/scripts/react native xcode.sh
上面没有一个为我修复它,但它与这个公关工作,它可能会很快发布
以防有人发现它有用:)当我运行纱线束ios
时,出现了以下消息
无法从src/scenes/Home/index.js
解析模块config/dimension
:在项目中找不到config/dimension
我一直在使用react native module resolver
。我为路径别名配置了“@configs”。如上所示,@缺失
更正了它,main.jsbundle最终被创建。这是一个已知的问题(),在0.63.3中得到了修复
只要更新到^0.63.3,你就会很好。对我来说,我在同一个项目中有.babelrc
和babel.config.js
文件。因此RN找不到某些导入的库。所以我修改了我的.babelrc
如下:
{
"extends": "./babel.config.js",
"plugins": [ //bla bla
],
}
这就是我停止错误的原因。您知道是什么原因导致了错误的改变吗?当然,这看起来很合乎逻辑,但是为什么以前不需要调用react native bundle
呢?它可以工作,但奇怪的是,所有资产都丢失了,没有一个图像显示我这也可以工作,但也没有包括任何资产。在我的例子中,这似乎与使用babel插件模块解析器
进行简短的绝对导入有关。仔细查看构建日志,我可以看到它在第一次访问其中一个导入时无法生成jsbundle。我还没有找到解决办法。“我认为回到相对进口会起作用……”IsaacOveracker说,这里的情况也一样。我想知道是这个插件由于某种原因不起作用,还是其他babel功能也不起作用。@EmpireJones我注意到除了配置了babel.config.js
设置的babel插件模块解析程序之外,我还生成了默认的.babelrc
文件。我删除了.babelrc
,并进一步生成了jsbundle,但遇到了一个不同的错误,与我的monorepo-nojust规则缺少几个lib有关。为什么这只在0.63.0而不是0.62.2上失败,我仍然不明白。我做得更进一步了,但现在我有了类似于Sachanski回答的错误——相对导入。我找到了一个解决方案。看下面。这对我来说没有任何改变。这为我修正了它,但我投了反对票,stackoverflow不让我改变它!我不想相信,但这对我来说也很有效。非常感谢。谢谢你!我很想知道为什么这比原来的更有效,它只是指向../node_模块。但是我没有index.ios.js,我还可以使用index.ios.js吗?@leeCoder无论你的ios条目文件是什么(也许你有一个index.js),只要确保react-native-xcode.sh脚本使用相同的文件就行了。