我想将文件创建到具有唯一ID的指定目录中,任何想法在下面的代码中实现了什么错误。 这里有两件事......
1-它没有将文件生成到特定目录records
,如何将文件创建到特定目录?
2-使用节点uuid,如何为每个正在生成的文件创建唯一的ID?
logs.js
var uuid = require('node-uuid');
var fs = require('fs');
var path = './app/records'
var filename = 'server' + uuid.v4() + '.txt'
var userLogs = function (data) {
fs.writeFile(path,filename,data,function () {
console.log(filename);
});
console.log('userLogs', data);
};
module.exports = userLogs;
输出文件名具有相同的ID
userLogs [ 'Test Log messages' ]
server7695c20a-5ddf-4d67-a437-3d0b9d354ed1.txt
userLogs [ 'Test Log messages' ]
server7695c20a-5ddf-4d67-a437-3d0b9d354ed1.txt
info: Test Log messages
from console Test Log messages
userLogs [ 'Test Log messages', 'Test Log messages' ]
server7695c20a-5ddf-4d67-a437-3d0b9d354ed1.txt
答案 0 :(得分:1)
var path = '/absolute/path/to/records'
var userLogs = function (data) {
var filename = 'server' + uuid.v4() + '.txt';
fs.writeFile(path,filename,data,function () {
console.log(filename);
});
console.log('userLogs', data);
};
在userLogs函数中将filename声明为局部变量。这样,每次调用它时,都会再次调用uuid函数。