const fs = require("fs");
const checkDir = (path, callback) => {
fs.stat(path, (err, stats) => {
if (err && err.code === "ENOENT") return callback(null, true);
if (err) return callback(err);
});
};
const currentPath = __dirname; //__dirname이 현재 위치를 알려주는 기본제공으로 알려주는 변수
let path = `${currentPath}/test`;
checkDir(path, (err, isTrue)=>{
if(err) return console.log(err);
if(isTrue){
console.log('이미 동일한 디렉터리가 있습니다. ');
path = `${currentPath}/test-new`;
}
fs.mkdir(path, (err)=>{
if(err) console.log(err);
console.log(`${path} 경로로 디렉터리를 생성했습니다.`)
})
});
fs는 파일 시스템과 관련된 그런 모듈인 듯
fs.stat()이 파일에 대한 정보를 알 수 있다.
fs.stat(경로, 콜백(에러, 상태들))
이렇게 경로를 줘서 어떤 파일이나 폴더에 대한 상태를 알 수 있고, 콜백을 넣을 수 있는데, 거기에 내가 줬던 경로의 파일에 대한 정보와 에러가 나면(예 : 파일이 없다던지) 그 에러에 대한 정보를 자동으로 넣어준다.
콜백은 그 에러들이나 상태들을 활용하거나 판단 해 필요한 로직을 수행하게끔 콜백함수를 줄 수 있다.
fs.mkdir은 fs.mkdir(경로, 콜백)
디렉토리를 만드는 것이다. fs.mkdir(경로, 콜백(err)) 이렇게 에러를 자동으로 넣어준다.
콜백 부분은 에러날 시 수행할 로직을 담아줄 수 있게끔 한듯 하다.
__dirname은 현재 경로인 듯. 현재 내 파일 즉, js가 있는 위치.
__filename은 그 경로에다 파일이름까지.
이거 좀 복잡하게 짠 듯..
'프론트엔드-코드 > Node.js' 카테고리의 다른 글
파일 fs (0) | 2023.10.11 |
---|---|
프로젝트 폴더에 파일 생성 -미완 (0) | 2023.10.06 |
서버 띄우기 (0) | 2023.10.05 |
exports, require commonJS 문법 (0) | 2023.10.04 |
favicon (0) | 2023.09.06 |