在Metro.config.js中配置React-Native-obfuscating-transformer和React-native-SVG-Transformer

发布于 2025-02-09 07:47:43 字数 1168 浏览 1 评论 0原文

我想使用React-Native-SVG-Transformer和React-Native-obfuscating-TransFormer.ut在使用Merge Config方法进行配置时,它可以工作,但是在某些时候它会覆盖Metro中的React-native-svg-transformer 。

使用MergeConfig

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

module.exports = (async () => {

  
  const {
    resolver: { sourceExts, assetExts },
  } = await getDefaultConfig();

  let config2 = {
    transformer: {
      babelTransformerPath: require.resolve("react-native-svg-transformer"),
    },
    resolver: {
      assetExts: assetExts.filter((ext) => ext !== "svg"),
      sourceExts: [...sourceExts, "svg"],
    },
  };

  let config1 = {
    transformer: {
      babelTransformerPath: require.resolve("./transformer"),
    },
  };

  



  return mergeConfig(config1, config2);
})();

和我尝试使用自定义变压器文件。但是我不确定我写的语法

var svgTransformer = require("react-native-svg-transformer");

module.exports.transform = function ({ src, filename, options }) {
  if (filename.endsWith(".svg")) {
    return svgTransformer.transform({ src, filename, options });
  } else {
    //return
    return require("./transformer");
  }
};

I want to use react-native-svg-transformer and react-native-obfuscating-transformer.but when configuring it using the merge config method time it works but when in some times it overwrites the react-native-svg-transformer in the metro.config file and react-native-svg-transformer started to not working .how can I resolve this.

using mergeConfig

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

module.exports = (async () => {

  
  const {
    resolver: { sourceExts, assetExts },
  } = await getDefaultConfig();

  let config2 = {
    transformer: {
      babelTransformerPath: require.resolve("react-native-svg-transformer"),
    },
    resolver: {
      assetExts: assetExts.filter((ext) => ext !== "svg"),
      sourceExts: [...sourceExts, "svg"],
    },
  };

  let config1 = {
    transformer: {
      babelTransformerPath: require.resolve("./transformer"),
    },
  };

  



  return mergeConfig(config1, config2);
})();

and I tried using a custom transformer file .but I'm not sure about the syntax I wrote

var svgTransformer = require("react-native-svg-transformer");

module.exports.transform = function ({ src, filename, options }) {
  if (filename.endsWith(".svg")) {
    return svgTransformer.transform({ src, filename, options });
  } else {
    //return
    return require("./transformer");
  }
};

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文