HTML, CSS, JS, 웹, 네트워크

Node.js

swchung09 2025. 6. 18. 00:45

Node.js는 구글의 V8엔진을 사용한 자바스크립트 언어 중 하나이다. 다만 웹 브라우저에서 동작하는 자바스크립트는 html을 다루기 위해 DOM객체를 지원하지만, Node.js는 웹 브라우저가 목적이 아니라서 document같은 객체는 동작하지 않는다.


Node.js를 쓰기 위해서는 여러 과정이 필요하다. 우선 Node.js 홈페이지에 들어가서 Node.js파일을 다운 받는다.

그 다음 터미널에서 원하는 프로젝트에 들어간 후, 다음 명령어를 실행한다.

npm init

그러면 json 파일이 생성되면서, 그 폴더는 Node.js작업 폴더가 된다.


기본적인 문법은 이전에 다룬 웹 js랑 같다.(var, let, for 등등) 따라서 모듈을 위주로 설명하겠다.

그러나 Node.js는 require나 import로 npm 라이브러리를 불러올 수 있다.

inmport fs from 'fs';
const fs = require('fs');

둘 중 하나를 쓰면 fs모듈을 불러올 수 있다.


fs모듈

파일 읽기, 쓰기, 디렉토리 읽기 등 파일과 폴더를 사용하는 라이브러리이다.


파일 읽기

fs.readFile(path, encoding, (err, data) => {
    if (err) throw err;
    console.log(data);
})

파일 쓰기

fs.writeFile(path, data, (err) => {
    if (err) throw err;
})

디렉토리 읽기

fs.readdir(path, (err, files) => {
    if (err) throw err;
    files.forEach(file => {
        console.log(file);
    })
})

디렉토리 만들기

fs.mkdir(path, (err) => {
    if (err) throw err;
}

이 외에도 파일과 폴더에 관해서 여러가지 작업을 할 수 있다.


path모듈

fs는 직접적으로 파일에 접근했다면, path는 경로를 처리하고 가져오는데 초점을 맞춘 모듈이다. 현재 실행 경로, 경로에서 파일 이름 추출, 확장자 추출, 디렉토리 추출등을 할 수 있다.


경로에서 디렉토리 추출 (예 : path가 ./a/f.txt라면 ./a)

path.dirname(path);

경로에서 파일 이름 추출(확장자 포함, 예 : path가 ./a/f.txt라면 f.txt)

path.basename(path);

경로에서 파일 확장자 추출(예 : path가 ./a/f.txt라면 txt)

path.extname(path);

이 외에도 다양한 기능이 있다.


os모듈

운영체제의 정보를 가져오는데 사용하는 모듈이다.


(메소드가 너무 많으므로 하나로 정리하겠다)

os.type() // 운영체제 이름
os.platform() // 운영체제 플랫폼
os.release() // 운영체제 릴리즈
os.uptime() // 운영체제 업타임(켜져 있는 시간)
os.freemem() // 사용가능한 메모리
os.totalmem() // 전체 메모리
os.cpus() // cpu 정보(배열로 리턴)
os.arch() // cpu 아키텍처
os.hostname() // 호스트 이름

그 외에도 crypto모듈과 http모듈이 있으며, 각각 암호화, 웹 통신의 기능이 있다.

'HTML, CSS, JS, 웹, 네트워크' 카테고리의 다른 글

Express(Cookie, Session)  (0) 2025.07.07
Express, pug  (0) 2025.06.23
API  (0) 2025.06.09
JSON, XML  (2) 2025.06.09
DNS  (0) 2025.06.02