gpt4 book ai didi

reactjs - 使用自定义扩展加载资源不起作用

转载 作者:行者123 更新时间:2023-12-03 13:29:14 24 4
gpt4 key购买 nike

我正在尝试在react-native中实现我的第一个应用程序,我需要从项目文件夹中保存的静态文件打开数据库。

我读到我需要允许从 Assets 加载自定义扩展文件,因此我将以下片段添加到我的 app.json 文件中:

"packagerOpts": {
"assetExts": ["sqlite", "db"]
},

接下来,我尝试在 componentDidMount() 方法中的 App.js 组件中导入带有 .sqlite 或 .db 扩展名的静态文件:

componentDidMount = async () => {
await Expo.FileSystem.downloadAsync(
Expo.Asset.fromModule(require("./assets/db/local.db")).uri,
`${Expo.FileSystem.documentDirectory}SQLite/local.db`
);

SQLite.openDatabase("local.db");
};

但是expo builder一直说无法从“App.js”解析“./assets/db/local.db”。请问有什么建议吗?

最佳答案

以下代码来自上面的两个答案

在项目根目录中创建metro.config.js:

const defaultAssetExts = require("metro-config/src/defaults/defaults").assetExts;

module.exports = {
resolver: {
assetExts: [
...defaultAssetExts,
// 3D Model formats
"dae",
"obj",
"mtl",
// sqlite format
"db",
"sqlite"
]
}
};

可选择安装 Metro 依赖项:npm i Metro-config --save-dev

关于reactjs - 使用自定义扩展加载资源不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53314515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com