Javascript React本机导入错误:无法使用.bin解析模块(如何导入特定类型的文件?)
我在运行react本机应用程序时收到一个错误Javascript React本机导入错误:无法使用.bin解析模块(如何导入特定类型的文件?),javascript,react-native,tensorflow,require,tensorflow.js,Javascript,React Native,Tensorflow,Require,Tensorflow.js,我在运行react本机应用程序时收到一个错误 Unable to resolve "./tfjs_model_to_use_quantized/content/tfjs_model_to_use/group1-shard1of1.bin" from "components\ImageInput.js" 我试图在JS代码中导入名为group1-shardof1.bin的文件 其他require函数(例如,对于json文件)工作正常,并且此特定require函数的文件路径正确。我认为问题是在rea
Unable to resolve "./tfjs_model_to_use_quantized/content/tfjs_model_to_use/group1-shard1of1.bin" from "components\ImageInput.js"
我试图在JS代码中导入名为group1-shardof1.bin的文件
其他require函数(例如,对于json文件)工作正常,并且此特定require函数的文件路径正确。我认为问题是在react native中导出时不支持.bin扩展
代码:
我补充说,我所尝试的是:
"packagerOpts": {
"assetExts": ["bin", "pb", "txt"]
}
在my app.json中,使用bin扩展名
如何配置react本机应用程序,使其能够将.bin文件扩展名导入JS文件?如果有人能帮我解决这个问题,那就太好了。我找到了答案。可在metro.config.js中配置react native要解析的其他文件类型:
const blacklist = require('metro-config/src/defaults/blacklist');
module.exports = {
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: false,
},
}),
},
resolver: {
// (add 'bin' to assetExts)
assetExts: ['bin', 'txt', 'jpg', 'png', 'ttf'],
sourceExts: ['js', 'json', 'ts', 'tsx', 'jsx'],
blacklistRE: blacklist([/platform_node/])
},
};
关键部分是文本部分,将“bin”添加到列表中。在我的具体案例中,由于某种原因没有创建metro.config.js文件,但我用上述代码创建了一个新文件,导入.bin工作正常。你救了我一天。我有一个js文件,没有js例外!
const blacklist = require('metro-config/src/defaults/blacklist');
module.exports = {
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: false,
},
}),
},
resolver: {
// (add 'bin' to assetExts)
assetExts: ['bin', 'txt', 'jpg', 'png', 'ttf'],
sourceExts: ['js', 'json', 'ts', 'tsx', 'jsx'],
blacklistRE: blacklist([/platform_node/])
},
};