모듈 생성
모듈은 최소 한가지 이상의 기능을 갖는 코드 덩어리이다. 특정 기능을 수행하는 코드를 별도로 분리시켜 모듈로서 관리하면, 코드의 재활용성이 높아진다. nodejs에서는 파일 하나하나가 모듈이 될 수 있다.
두 수를 더해주는 모듈을 만들어 본다면,
// math.js
function sum (a, b){
return a+b;
}
module.exports = {
sum: sum
}
math라는 모듈을 만들고 다른 곳에서 사용할 수 있도록 exports 해준다.
// index.js
const math = require('./math.js');
const result = math.sum(1, 2)
console.log(result)
require 메서드를 통해 외부 모듈을 불러올 수 있다. nodejs에는 http, fs와 같은 기본 내장 모듈도 많다.
동기/비동기
아래 메서드를 이용해서 동기와 비동기처리를 확인해보자.
readFile()
- 비동기 방식으로 파일을 읽는 함수
- https://nodejs.org/api/fs.html#fs_fs_readfile_file_options_callback
readFileSync()
- 동기 방식으로 파일을 읽는 함수
- https://nodejs.org/api/fs.html#fs_fs_readfilesync_file_options
const fs = require('fs');
// 동기
const data = fs.readFileSync('./data.txt', 'utf-8');
// 비동기
fs.readFile('./data.txt', 'utf-8', (err, data) => {
console.log(data); // 3
});
console.log(data); // 1
console.log('Hello'); // 2
// 출력 결과
// This is data file. // 1
// Hello // 2
// This is data file. // 3
'Javascript' 카테고리의 다른 글
Node.js - Express로 서버 만들기 (0) | 2021.12.14 |
---|---|
Node.js - http모듈로 서버 만들기 (0) | 2021.12.14 |
코어 자바스크립트 - 클래스 (0) | 2021.11.18 |
코어 자바스크립트 - 프로토 타입 (0) | 2021.11.18 |
코어 자바스크립트 - 클로저 (0) | 2021.11.11 |