我在微信小程序中尝试读取项目中的 JSON 文件,代码如下:
const path = "assets/animations/main_ani.json";
const fs = wx.getFileSystemManager();
try {
// 读取本地 JSON 文件
const fileContent = fs.readFileSync(path, "utf-8");
let animData;
try {
animData = JSON.parse(fileContent);
console.log(animData);
} catch (e) {
console.error("JSON 解析失败", e);
}
} catch (err) {
console.error("读取文件失败", err);
}
这段代码在 微信开发者工具
的 模拟器
中可以正常运行,但在 真机远程调试
时出现如下错误:
index.ts:69 读取文件失败 Error: readFileSync:fail no such file "assets/animations/main_ani.json"
at W_ (WAServiceMainContext.js:1)
at Object.<anonymous> (WAServiceMainContext.js:1)
at I (WAServiceMainContext.js:1)
at Object.p (WAServiceMainContext.js:1)
at li.onTest (index.ts:60)
at o.safeCallback (WASubContext.js:1)
at WASubContext.js:1
at wn (WASubContext.js:1)
at WASubContext.js:1
at pe (WASubContext.js:1)
尝试将 path 改为 "/assets/animations/main_ani.json" 之后,问题依旧。
疑问: 小程序的 JSON 文件应该如何正确读取?
开发者工具和真机调试的文件路径是否有差异?
是否需要特殊配置,或使用其他方式加载 JSON 文件?
希望有经验的朋友能帮忙解答,感谢!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.