티스토리 뷰

HMLT&CSS&JS/javascript

[NODE.JS] fs

turfrain 2021. 1. 28. 13:45

fs = require('fs')

기본 세팅 설정 후

1. 파일 유무 체크

let jsonFile = "gulp.config.json";  
fs.access(jsonFile, fs.constants.F\_OK, (err) => {  
if (err){  
console.error(jsonFile + ' 파일이 없음.X');  
}else{  
console.error(jsonFile + ' 파일이 있음.O');  
}  
})

2. 비동기식 json 파일 읽기

fs.readFile( './gulp.config.json', 'utf8', (error, jsonFile) => {  
if (error) return console.log(error);  
let json = JSON.parse(jsonFile);  
console.log("성공 : ", json.debugMode)  
loadCompleat(json)  
});  
function loadCompleat($json){  
gulpinfoA = $json  
console.log("완료 : "+ gulpinfoA.debugMode)  
}

3. 동기식 json 파일 읽기

let jsonFile = "gulp.config.json";  
fs.access(jsonFile, fs.constants.F\_OK, (err) => {  
if (err){  
console.error(jsonFile + ' 파일이 없음.X');  
}else{  
console.error(jsonFile + ' 파일이 있음.O');  
}  
})

복합설정 예) gulp

let jsonFile = "./gulp.config.json";
gulp.task('jsonA',  function(done){

  // 파일 유무 체크 
  fs.access(jsonFile, fs.constants.F_OK, (err) => { if (err){ console.log(error);  return done(); } });

  // 파일 읽기
  fs.readFile( jsonFile, 'utf8', (error, jsonFile) => {
    if (error) return console.log(error);
    let jsonA = JSON.parse(jsonFile);
    console.log("성공 : "+ jsonA.debugMode);
    loadCompleat(jsonA);
  });
  // 파일 읽기 완료;
  function loadCompleat($json){ 
    let jsonB = $json
    console.log("완료 : "+ jsonB.debugMode);

    // 데이터 변경 
    jsonB.debugMode = false;
    console.log("====변경===");
    console.log(jsonB);

    // 파일 저장
    fs.writeFileSync(jsonFile, JSON.stringify(jsonB), 'utf-8');

    // 파일 읽기
    const jsonC = JSON.parse(fs.readFileSync(jsonFile, 'utf8'));
    console.log("읽기 : "+ jsonC.debugMode);
  } 

  return done();
});  

'HMLT&CSS&JS > javascript' 카테고리의 다른 글

PAGINATION  (0) 2023.02.28
JS [EVENT] 생성  (0) 2021.11.01
[window.print()] 원하는 영역 인프린트  (0) 2020.04.03
basic_1 : 자료형 & 객체  (0) 2013.01.09
ECMAScript 판본과의 관계  (0) 2013.01.08
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday