Javascript 节点-本地服务器:[错误:enoint:邮递员的xml响应没有这样的文件或目录
我试图在本地磁盘上创建来自Postman的XML请求和响应的日志文件,如下所示: 问题是服务器收到消息时“[Error:enoint:没有这样的文件或目录”。 错误: 在Postman测试中,有以下脚本: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.
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'
}