【问题标题】:How to install react-native-svg-transformer without Expo?如何在没有 Expo 的情况下安装 react-native-svg-transformer?
【发布时间】:2021-07-04 09:25:50
【问题描述】:

我有一个react-native 0.64.2 项目没有 Expo。使用this instruction 对我不起作用,因为我没有包metro-config,这意味着我无法导入getDefaultConfig。

metro.config.js

const { getDefaultConfig } = require("metro-config");

module.exports = (async () => {
  const {
    resolver: { sourceExts, assetExts }
  } = await getDefaultConfig();
  return {
    transformer: {
      babelTransformerPath: require.resolve("react-native-svg-transformer")
    },
    resolver: {
      assetExts: assetExts.filter(ext => ext !== "svg"),
      sourceExts: [...sourceExts, "svg"]
    }
  };
})();

有什么想法吗?提前致谢!

【问题讨论】:

  • 地铁!= 世博会。它(以及metro-config 包)作为@react-native-community/cli 的依赖项安装 - 这是react-native 包的依赖项。所以是的,你肯定有这个包。
  • 你用哪一个来初始化你的项目? expo-cli 或 react-native-cli?
  • @raina77ow 谢谢,它成功了。我在其他地方遇到了一个错误,并且被我的 IDE 的Module is ... not in the package.json-info 误导了。如果您将其发布为答案,我会接受。
  • @QuangThái 感谢您的回复。我使用了expo-cli,但它现在可以工作了(见我上面的评论)。

标签: reactjs react-native npm expo


【解决方案1】:

Metro != Expo。它是一个bundler,用于转换和组合 JavaScript 和所有相关资产 - 类似于 webpack,但用于 RN 应用程序。

如果您使用@react-native-community/cli 包,它同时具有metro 和metro-config 作为其依赖项,因此您应该能够要求此包。

【讨论】:

    猜你喜欢
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 2022-11-30
    • 2019-10-14
    • 2012-07-23
    相关资源
    最近更新 更多