Front-End/Node.js

[Node.js] Node.js 기본 모듈, 메소드, 동기식과 비동기식 알아보기

챌링킴 2021. 8. 7. 14:58
반응형

1) 기본 실행

console.log('node.js의 시작');

 

cmd창에서 node 파일명.확장자 명령어 실행해주기

 

 

2) fs 모듈

- 파일처리와 관련된 모듈(기능을 모아둔 파일)을 말한다.

- node.js에서 가장 중요하고 기초가 되는 모듈이다.

 

 

3) 메소드

 

1. readFile( )

- 파일을 비동기적으로 읽어준다.

const fs = require('fs'); //파일을 다루는 모듈

fs.readFile('text1.txt', 'utf-8', (err, data) => {
//err가 났을 때 err결과가 data변수에 값이 들어가고 잘 실행되면 바로 data변수에 값이 들어감
    if(err){
        console.log(err);
    }else{
        console.log(`비동기식으로 읽음 : ${data}`);
    }
});

 

2. readFileSync( )

- 파일을 동기적으로 읽어준다.

const text = fs.readFileSync('text1.txt', 'utf-8');
console.log(`동기식으로 읽음 : ${text}`);

 

 

3. writeFile( )

- 파일을 비동기적으로 써준다.

const fs = require('fs');
const data = "Hello Node.js !!!";

fs.writeFile('text2.txt', data, 'utf-8', (err) => {
    if(err){
        console.log('에러발생!');
    }else{
        console.log('비동기식으로 파일저장');
    }
});

 

4. writeFileSync( )

- 파일을 동기적으로 써준다.

fs.writeFileSync('text3.txt', data, 'utf-8');
console.log('동기식으로 파일저장!')

 

 

 

4) 동기식과 비동기식

 

1. 동기식

- 프로그램이 동작하는 상태에서 완전히 해당 내용을 끝내고 다음으로 넘기는 방식을 뜻한다.

- 동기식은 예외처리를 해야한다.

const fs = require('fs');

// 동기식은 예외처리를 해야함
try{
    
}catch(e){
    console.log('동기식으로 파일 읽기 실패');
}
console.log('프로그램을 종료합니다.');

 

2. 비동기식

- 동작이 끝나지 않은 상태에서도 제어권을 넘긴 후 프로그램을 계속 진행하는 방식을 뜻한다.

 

const fs = require('fs'); //파일을 다루는 모듈

fs.readFile('text1.txt', 'utf-8', (err, data) => {
    if(err){
        console.log(err);
    }else{
        console.log(`비동기식으로 읽음 : ${data}`);
    }
});


//동기식으로 읽음
const text = fs.readFileSync('text1.txt', 'utf-8');
console.log(`동기식으로 읽음 : ${text}`);

 

비동기식은 시간이 걸리기때문에, 그대로 두고 동기식 먼저 실행된다.

 

반응형