expo sdk 40 Metro.config.js“预期‘fromDir’为‘字符串’,得到‘未定义’”

E.D*_*E.D 9 javascript react-native expo metro-bundler

I\xe2\x80\x99m 在带有纱线工作区的 monorepo 上,并且 I\xe2\x80\x99m 也使用react-native-svg-transformer。\n我已将 sdk 更新到 sdk 40,并且在 Metro 中出现此错误。配置.js :\n在此输入图像描述

\n

这是我的 Metro.config.js :

\n
const { createMetroConfiguration } = require(\'expo-yarn-workspaces\');\nconst { getDefaultConfig } = require(\'@expo/metro-config\');\nconst configuration = createMetroConfiguration(__dirname);\nmodule.exports = (async () => {\n  const {\n    resolver: { sourceExts },\n  } = await getDefaultConfig();\n  return {\n    transformer: {\n      babelTransformerPath: require.resolve(\'react-native-svg-transformer\'),\n    },\n    resolver: {\n      ...configuration.resolver,\n      assetExts: configuration.resolver.assetExts.filter(ext => ext !== \'svg\'),\n      sourceExts: [...sourceExts, \'svg\'],\n      // NOTE: using native entrypoint because bug in metro https://github.com/facebook/metro/issues/485\n      resolverMainFields: [\'native\', \'module\', \'browser\', \'main\'],\n    },\n  };\n})();  \n
Run Code Online (Sandbox Code Playgroud)\n

如果你有什么想法吗?

\n

小智 16

添加__dirname参数,await getDefaultConfig()所以它应该是await getDefaultConfig(__dirname)

根据文档需要它