react-native - 如何为反应原生 ios 导入数据文件(json、jsx、js 等)?
问题描述
我有一个类似这样的数据文件。
[
{
"id": 1,
"title": "Car",
"personal_require": 1,
"public_serve": 1,
"public_require": 1,
"personal_serve": 1
},
{
"id": 2,
"title": "House",
"personal_require": 1,
"public_serve": 1,
"public_require": 1,
"personal_serve": 1
},
{
"id": 3,
"title": "Finance",
"personal_require": 1,
"public_serve": 1,
"public_require": 1,
"personal_serve": 1
}
]
我使用导入,它适用于网络,但对于 iOS,系统似乎无法找到该文件。我收到错误:
构建 JavaScript 包失败。无法从 /Users/wlin/dev/wishlist/screens/ServeScreen.tsx 解析模块../tests /data/defaultWishlist.json:
这些文件都不存在: * defaultWishlist.json * 测试/data/defaultWishlist.json/index(.native|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx| .ios.js|.native.js|.js|.ios.jsx|.native.jsx|.jsx|.ios.json|.native.json|.json) 15 | 从“../components/WishlistItemText”导入 WishlistItem;16 | 从“../types”导入{愿望清单};
17 | 从“ ../tests /data/defaultWishlist.json”导入 * 作为 defaultWishlist ;| ^ 18 | 19 | 类型 ServeNavigationProp = StackNavigationProp<ServeParamList, "ServeScreen">; 20 | type Props = { 警告:检查守望者版本时出现问题。无效版本:20210524。
我已经尝试过 json、js、ts、jsx ......它们都不起作用。完整代码在这里:https ://github.com/dotku/aladdin/tree/iosBundleFail
解决方案
正如我所看到的,您试图错误地导入它。
要解决此问题,请将您的 defaultWishlist.js 更改为 defaultWishlist.json,然后不要在 json 文件中使用 export。
/测试/data/defaultWishlist.json 的示例:
[
{
id: 1,
title: "Car",
personal_require: 1,
public_serve: 1,
public_require: 1,
personal_serve: 1,
},
{
id: 2,
title: "House",
personal_require: 1,
public_serve: 1,
public_require: 1,
personal_serve: 1,
},
{
id: 3,
title: "Finance",
personal_require: 1,
public_serve: 1,
public_require: 1,
personal_serve: 1,
},
]
然后你可以在每个文件上使用这个 json,只要你调用它:
const list = require('./___test___/defaultWishlist.json');
这是一种可重复的零食:零食示例
编辑:如果您尝试将其作为 JS 文件导入,只需添加。结构应该是这样的:
const export data = [
{
id: 1,
title: "Car",
personal_require: 1,
public_serve: 1,
public_require: 1,
personal_serve: 1,
},
{
id: 2,
title: "House",
personal_require: 1,
public_serve: 1,
public_require: 1,
personal_serve: 1,
},
{
id: 3,
title: "Finance",
personal_require: 1,
public_serve: 1,
public_require: 1,
personal_serve: 1,
},
]
然后在您的文件中,您将这样称呼它:
import {data} from './___test___/defaultWishlist.js'
推荐阅读
- git - 使用访问令牌推送到 github 的最小范围集
- c++ - std::getline 没有做我期望它做的事情请参阅下面的代码
- amazon-elastic-beanstalk - 没有负载均衡器的弹性豆茎上的亚马逊证书
- css - Angular:如何为动态上下文和功能创建可重用的布局或模板?
- r - 将 ggplot geom_label 定位为轴范围的比例
- python - django ModelForm 未捕获上传的图像
- javascript - 如何在不知道 puppeteer 的情况下抓取元素的值?
- javascript - 如何在 html div 的代码中显示 javascript 计时器?
- python - 如何使用 Beautiful Soup 从 HTML 中提取特定的脚本元素
- python - 如何在 Matplotlib 中向 Stack Percentage Barplot 添加注释