【问题标题】:expo sdk 40 metro.config.js "Expected 'fromDir' to be 'string', got 'undefined' "expo sdk 40 metro.config.js “预期‘fromDir’为‘字符串’,得到‘未定义’”
【发布时间】:2021-03-29 19:42:07
【问题描述】:

我在一个带有 yarn 工作区的 monorepo 上,我也在使用 react-native-svg-transformer。 我已将 sdk 更新为 sdk 40,并且在 metro.config.js 中出现此错误:

还有我的 metro.config.js :

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

如果你有任何想法?

【问题讨论】:

  • 嘿,ED!你是如何解决这个问题的?你处理过你在下面提到的那个新库吗?
  • @Onthewaytosuccess 是的,正如我能够在下面的评论中指出的那样;)
  • 嘿,我以某种方式解决了@E.D

标签: javascript react-native expo metro-bundler


【解决方案1】:

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

docs必填

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-01-31
  • 1970-01-01
  • 2017-07-07
  • 1970-01-01
  • 1970-01-01
  • 2022-12-17
  • 2017-09-25
  • 1970-01-01
相关资源
最近更新 更多