有很多原因,其中一个原因是 node 版本过高,导致不兼容。
1、node 版本过高
官方链接是:
https://github.com/facebook/metro/pull/464/commits/7d0464836890163c02790f1bf4d8550a34fb95a3,点击链接可以查看到具体的原因是因为新版本修改了sharedBlacklist正则表达式导致旧版本不能匹配而导致的bug。
所以解决办法就是修改node_modules\metro-config\src\defaults\blacklist.js,将文件内原有的/node_modules[/\\]react[/\\]dist[/\\].*/, 修改为/node_modules[\/\\]react[\/\\]dist[\/\\].*/,