[英]Getting error while trying to create new directory into my project folder
// Getting error throw new Error(`Error creating log folder ${logFolder} -
// ${JSON.stringify(e)}`);
// Error: Error creating log folder ./logs/Pranjals-MacBook-Air.local -
// {"errno":-2,"code":"ENOENT","syscall":"mkdir","path":"./logs/Pranjals-
// MacBook-Air.local"}
// I am trying to create new directory if do not exists but it's throwing
// me the error
let logFolder = `./logs/${os.hostname()}`;
if (!fs.existsSync(logFolder)) {
try {
fs.mkdirSync(logFolder);
} catch(e) {
throw new Error(`Error creating log folder ${logFolder} - ${JSON.stringify(e)}`);
}
}
為了遞歸創建目錄,我使用了mkdirp包。
這是一個例子:
/**
* CREATE DIR SYNC
* Used to create a directory
* @param {String} path
*/
let createDirSync = function (path = '') {
const fs = require('fs');
const mkdirp = require('mkdirp');
if (!fs.existsSync(path)) {
mkdirp.sync(path);
}
};
createDirSync('/path/to/create/');
希望能幫助到你。
與@Sparw的答案相比,您無需使用庫就可以做到。 遞歸選項設置為true的nodejs v10.x
。
let logFolder = `./logs/${os.hostname()}`;
if (!fs.existsSync(logFolder)) {
try {
await fs.promises.mkdir(logFolder, { recursive: true }) //or fs.mkdirSync(logFolder, { recursive: true })
} catch(e) {
throw new Error(`Error creating log folder ${logFolder} - ${JSON.stringify(e)}`);
}
}
//我只是添加了'{recursive:true}'屬性作為第二個參數,它對我來說效果很好
let logFolder = `logs/${os.hostname()}`;
if (!fs.existsSync(logFolder)) {
try {
fs.mkdirSync(logFolder, { recursive: true })
} catch(e) {
throw new Error(`Error creating log folder ${logFolder} - ${JSON.stringify(e)}`);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.