我在微信小程序中尝试读取项目中的 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 文件?
希望有经验的朋友能帮忙解答,感谢!
|