我正在尝试创建一个文件,并使用以下代码保存到path
,将其创建文件保存到记录目录中,但文件名随着./app/records/server2b22f465-f7c9-4131-b462-93bc19760ab1.txt
路径包含在文件名中,我错过了所以我只能在没有路径的情况下将文件名保存到记录文件夹中吗?
main.js
var uuid = require('node-uuid');
var fs = require('fs');
var path = './app/records'
var userLogs = function (data) {
var filename = 'server' + uuid.v4() + '.txt';
var file = path + '/' + filename;
fs.writeFile(file,data,function () {
console.log(file);
});
console.log('userLogs', data);
};
module.exports = userLogs;
答案 0 :(得分:1)
我相信您传递给您可以使用节点的本机路径模块来解析绝对路径的相对路径。执行此操作的方法是fs.writeFile
的路径必须是绝对路径。path.resolve()
。
所以试试这个:
var uuid = require('node-uuid');
var fs = require('fs');
var path = require('path');
var filePath = path.resolve('./app/records');
var userLogs = function (data) {
var filename = 'server' + uuid.v4() + '.txt';
var file = filePath + '/' + filename;
fs.writeFile(file,data,function () {
console.log(file);
});
console.log('userLogs', data);
};
module.exports = userLogs;
编辑:fs.writeFile
不需要绝对路径
根据Node fs docs:
https://nodejs.org/api/fs.html#fs_file_system
可以使用文件名的相对路径。但请记住,此路径将相对于
process.cwd()