如果 node.js 中不存在,如何创建年 -> 月 -> 日期的文件夹层次结构
How to create folder hierarchy of year -> month -> date if not exist in node.js
我正在尝试创建名为当前年份的文件夹层次结构,在其中创建另一个名为当前月份的文件夹,然后再次在该文件夹内创建另一个名为当前日期的文件夹。
例如:今天的日期是 2016-05-02,因此如果文件夹不存在,则应创建如下结构
2016->05->02
See this previously answered question
执行此操作的好方法是使用 mkdirp 模块。
$ npm install mkdirp
然后用它来运行需要目录的函数。创建路径后调用回调(如果它不存在)。如果 mkdirp 未能创建目录路径,则会设置错误。
var mkdirp = require('mkdirp');
mkdirp('/tmp/some/path/foo', function(err) {
// path was created unless there was error
});
最好的解决方案是使用名为 node-fs-extra 的 npm 模块。主要优点是它建立在模块 fs
之上,因此您也可以拥有 fs
中可用的所有方法。它有一个名为 mkdir
的方法,可以创建您提到的目录。如果你给一个长目录路径,它会自动创建父文件夹。该模块是npm模块fs
的超集,添加该模块也可以使用fs
中的所有功能。
一个例子
var fse = require('fs-extra')
var os = require('os')
function getTempPath() {
return os.tmpdir();
}
mymodule.get('/makefolder',function(req,res){
var tempfolder = getTempPath();
var myfolder = tempfolder + '/yearfolder/monthfolder/datefolder/anyotherfolder';
fse.mkdirs(myfolder, function (err) {
if (err) return res.json(err)
console.log("success!")
res.json("Hurray ! Folder created ! Now, Upvote the solution :) ");
})
});
我正在尝试创建名为当前年份的文件夹层次结构,在其中创建另一个名为当前月份的文件夹,然后再次在该文件夹内创建另一个名为当前日期的文件夹。
例如:今天的日期是 2016-05-02,因此如果文件夹不存在,则应创建如下结构
2016->05->02
See this previously answered question
执行此操作的好方法是使用 mkdirp 模块。
$ npm install mkdirp
然后用它来运行需要目录的函数。创建路径后调用回调(如果它不存在)。如果 mkdirp 未能创建目录路径,则会设置错误。
var mkdirp = require('mkdirp');
mkdirp('/tmp/some/path/foo', function(err) {
// path was created unless there was error
});
最好的解决方案是使用名为 node-fs-extra 的 npm 模块。主要优点是它建立在模块 fs
之上,因此您也可以拥有 fs
中可用的所有方法。它有一个名为 mkdir
的方法,可以创建您提到的目录。如果你给一个长目录路径,它会自动创建父文件夹。该模块是npm模块fs
的超集,添加该模块也可以使用fs
中的所有功能。
一个例子
var fse = require('fs-extra')
var os = require('os')
function getTempPath() {
return os.tmpdir();
}
mymodule.get('/makefolder',function(req,res){
var tempfolder = getTempPath();
var myfolder = tempfolder + '/yearfolder/monthfolder/datefolder/anyotherfolder';
fse.mkdirs(myfolder, function (err) {
if (err) return res.json(err)
console.log("success!")
res.json("Hurray ! Folder created ! Now, Upvote the solution :) ");
})
});