React Native importing error: unable to resolve module with .bin (how to import a certain type of file?)
React Native importing error: unable to resolve module with .bin (how to import a certain type of file?)
我在 运行 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 函数的文件路径是正确的。我认为问题是 .bin 扩展不支持在本机反应中导出
代码:
const modelWeights = require('./tfjs_model_to_use_quantized/content/tfjs_model_to_use/group1-shard1of1.bin')
我尝试过的,我补充说:
"packagerOpts": {
"assetExts": ["bin", "pb", "txt"]
}
在我的 app.json 中,带有 bin 扩展名。
如何配置我的 react-native 应用程序以将 .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/])
},
};
关键部分是assetExts部分,添加"bin"到列表中。在我的具体情况下,由于某种原因没有创建 metro.config.js 文件,但我使用上述代码创建了一个新文件,.bin 的导入工作正常。
我在 运行 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 函数的文件路径是正确的。我认为问题是 .bin 扩展不支持在本机反应中导出 代码:
const modelWeights = require('./tfjs_model_to_use_quantized/content/tfjs_model_to_use/group1-shard1of1.bin')
我尝试过的,我补充说:
"packagerOpts": {
"assetExts": ["bin", "pb", "txt"]
}
在我的 app.json 中,带有 bin 扩展名。
如何配置我的 react-native 应用程序以将 .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/])
},
};
关键部分是assetExts部分,添加"bin"到列表中。在我的具体情况下,由于某种原因没有创建 metro.config.js 文件,但我使用上述代码创建了一个新文件,.bin 的导入工作正常。