为什么即使没有错误,fs.writeFile也不能创建文件? (Heroku的)

时间:2017-07-11 01:21:20

标签: node.js express child-process fs

我正在快速路线中的child_process.exec中执行命令 - 该服务在本地完美运行但是一旦我将它部署到Heroku,fs.writeFile就不起作用(也就是说,一切正常但没有错误但是我找不到文件)。我甚至在回调中放了一个fs.existsSync,它返回true(!) - 当我运行heroku运行bash并通过shell CLI浏览目录时,为什么我找不到它?写作正在以下表达式中完成:

const router = require('express').Router();
const exec = require('child_process').exec;
const fs = require('fs');

module.exports = router
.get('/data', (req, res, next) => {
    exec('npm run get', { cwd: __dirname }, (err, stdout, stderr) => {
        if (err) {
            console.error(`exec error: ${err}`);
            return;
        }
        var truncated = stdout.split("...");
        var trunc = truncated[1].split("\n");
        var name = Date();
        fs.writeFile(`${__dirname}/data/${name}.txt`, trunc, function (err, written, string) {
         console.log(fs.existsSync(`${__dirname}/data/${name}.txt`));
         if (err) throw err;
         res.json(trunc.slice(1, 11));
        });
    });
}):

我试过写,writeSync,也尝试了一个流 - 所有相同的问题。与远程服务器上的子进程中使用的fs有什么关系?

0 个答案:

没有答案