【发布时间】:2022-01-26 22:53:37
【问题描述】:
我有一个基本的网络应用程序设置,其文件结构类似于:
WEB APP
- data
-year.txt
- cron
-write.js
一个父目录有两个文件夹,每个文件夹包含一个文件。 write.js 文件在后端生成一堆数据,JSON.string 化该数据并将字符串写入位于另一个文件夹中的 year.txt 文件。这是它在 write.js 文件中的样子:
try {
fs.writeFile(__dirname + '/../data/year.txt', JSON.stringify(organizedData), () => {
console.log('SUCCESS');
res.status(200);
res.send(null);
});
} catch (e) {
res.status(500);
console.log(e);
res.send(null);
}
所有这些在我的本地服务器上都可以正常工作,write.js 文件使用正确的数据更新 year.txt。我只是在努力弄清楚为什么这在我的生产服务器上不起作用,该服务器托管在 Google Cloud App Engine 上。真正让我困惑的部分是,当我检查此生产服务器上的日志时,我收到“SUCCESS”消息,这意味着 fs.writeFile 函数没有抛出任何错误。我检查year.txt文件的url路径,没有添加任何内容。好像没搞明白,是不是跟writeFile函数中的文件路径有关系?
【问题讨论】:
-
如果这些解决方案都不起作用,(如果您可以更改代码并将其重新部署到生产环境)我会尝试使用
console.log正上方的@987654326 显示__dirname + '/../data/year.txt'和JSON.stringify(organizedData)@。您可能会在这些变量中发现一些意想不到的东西。
标签: javascript node.js google-app-engine fs