如何使用nodejs创建具有唯一ID的文件?

时间:2016-07-20 18:01:45

标签: javascript node.js

我想将文件创建到具有唯一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 

1 个答案:

答案 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函数。