在metro.config.js中配置react-native- obfusming -transformer和reac



我想使用react-native-svg-transformer和react-native- obfusing -transformer。但是,当使用合并配置方法配置它时,它可以工作,但有时它会覆盖metro中的react-native-svg-transformer。配置文件和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");
}
};

我找到了react-native- obfusming -transformer的替代方法。

obfuscator-io-metro-plugin

。这解决了我问题中的所有复杂问题。查看这些链接

https://www.npmtrends.com/@heroai react-native-obfuscating-transformer-vs-obfuscator-io-metro-plugin-vs-react-native-obfuscating-transformer-clone-vs-react-native-obfuscator-vs-react-native-obscure

https://www.npmjs.com/package/obfuscator-io-metro-plugin

最新更新