Javascript 节点-本地服务器:[错误:enoint:邮递员的xml响应没有这样的文件或目录

Javascript 节点-本地服务器:[错误:enoint:邮递员的xml响应没有这样的文件或目录,javascript,node.js,express,postman,Javascript,Node.js,Express,Postman,我试图在本地磁盘上创建来自Postman的XML请求和响应的日志文件,如下所示: 问题是服务器收到消息时“[Error:enoint:没有这样的文件或目录”。 错误: 在Postman测试中,有以下脚本: let dataToFile = { requestName: '{request.name || request.url}-${pm.info.iteraction}', fileExtension: 'log', responseData: pm.

我试图在本地磁盘上创建来自Postman的XML请求和响应的日志文件,如下所示:

问题是服务器收到消息时“[Error:enoint:没有这样的文件或目录”。 错误:

在Postman测试中,有以下脚本:

let dataToFile = {
    requestName: '{request.name || request.url}-${pm.info.iteraction}',
        fileExtension: 'log',
        responseData: pm.response.text()
};
pm.sendRequest({
        url: 'http://localhost:3000/write',
        method: 'POST',
        header: 'Content-Type:application/json',
        body: {
            mode: 'raw',
            raw: JSON.stringify(dataToFile).toString()
        }
}, function(err, res) {
        console.log(res);
});
启动节点scripts.js,其中scripts.js

const express = require('express'),
  app = express(),
  fs = require('fs'),
  shell = require('shelljs'),

   // Modify the folder path in which responses need to be stored
  folderPath = '\Responses',  //C:\ResponseToFile-Postman
  defaultFileExtension = 'json', // Change the default file extension
  bodyParser = require('body-parser'),
  DEFAULT_MODE = 'writeFile',
  path = require('path');

// Create the folder path in case it doesn't exist
shell.mkdir('-p', folderPath);

 // Change the limits according to your response size
app.use(bodyParser.json({limit: '50mb', extended: true}));
app.use(bodyParser.urlencoded({ limit: '50mb', extended: true })); 

app.get('/', (req, res) => res.send('Hello, I write data to file. Send them requests!'));

app.post('/write', (req, res) => {
  let extension = req.body.fileExtension || defaultFileExtension,
    fsMode = req.body.mode || DEFAULT_MODE,
    uniqueIdentifier = req.body.uniqueIdentifier ? typeof req.body.uniqueIdentifier === 'boolean' ? Date.now() : req.body.uniqueIdentifier : false,
    filename = `${req.body.requestName}${uniqueIdentifier || ''}`,
    filePath = `${path.join(folderPath, filename)}.${extension}`,
    options = req.body.options || undefined;

  fs.appendFile(filePath, req.body.responseData, options, (err) => {
    if (err) {
      console.log(err);
      res.send('Error');
    }
    else {
      res.send('Success');
    }
  });
});

app.listen(3000, () => {
  console.log('ResponsesToFile App is listening now! Send them requests my way!');
  console.log(`Data is being stored at location: ${path.join(process.cwd(), folderPath)}`);
});
服务器启动和响应发送的完整日志:

PS C:\ResponseToFile-Postman> node script2.js
(node:23172) Warning: Accessing non-existent property 'cat' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:23172) Warning: Accessing non-existent property 'cd' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'chmod' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'cp' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'dirs' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'pushd' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'popd' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'echo' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'tempdir' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'pwd' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'exec' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'ls' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'find' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'grep' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'head' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'ln' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'mkdir' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'rm' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'mv' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'sed' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'set' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'sort' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'tail' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'test' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'to' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'toEnd' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'touch' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'uniq' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'which' of module exports inside circular dependency
ResponsesToFile App is listening now! Send them requests my way!
Data is being stored at location: C:\ResponseToFile-Postman\Responses
[Error: ENOENT: no such file or directory, open 'C:\ResponseToFile-Postman\Responses\{request.name || request.url}-${pm.info.iteraction}.log'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'C:\\ResponseToFile-Postman\\Responses\\{request.name || request.url}-${pm.info.iteraction}.log'
}

@克里斯·G在评论中解决了这个问题


{request.name | | | request.url}-${pm.info.iteraction}
看起来它实际上应该是
${request.name | | request.url}-${pm.info.iteraction}


{request.name | | | request.url}-${pm.info.iteraction}
看起来应该是
{request.name | | request.url}-${pm.info.iteraction}
@ChrisG非常感谢!
PS C:\ResponseToFile-Postman> node script2.js
(node:23172) Warning: Accessing non-existent property 'cat' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)
(node:23172) Warning: Accessing non-existent property 'cd' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'chmod' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'cp' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'dirs' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'pushd' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'popd' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'echo' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'tempdir' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'pwd' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'exec' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'ls' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'find' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'grep' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'head' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'ln' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'mkdir' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'rm' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'mv' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'sed' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'set' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'sort' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'tail' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'test' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'to' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'toEnd' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'touch' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'uniq' of module exports inside circular dependency
(node:23172) Warning: Accessing non-existent property 'which' of module exports inside circular dependency
ResponsesToFile App is listening now! Send them requests my way!
Data is being stored at location: C:\ResponseToFile-Postman\Responses
[Error: ENOENT: no such file or directory, open 'C:\ResponseToFile-Postman\Responses\{request.name || request.url}-${pm.info.iteraction}.log'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'open',
  path: 'C:\\ResponseToFile-Postman\\Responses\\{request.name || request.url}-${pm.info.iteraction}.log'
}