React Native导入错误:无法使用.bin解析模块(如何导入某种类型的文件?)

问题描述 投票:1回答:2

运行React Native应用程序时收到错误。

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文件?如果有人可以帮助我解决这个问题,那就太好了。

javascript react-native tensorflow require tensorflow.js
2个回答
0
投票

0
投票
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的导入工作正常。

© www.soinside.com 2019 - 2024. All rights reserved.