7) 자바스크립트 X nodeJS -3 (내장 모듈)

0. nodeJS가 하는일

구체적으로 nodeJS로 무엇을 할 수 있을까?

1. nodeJS 내장 모듈

1-1. os

nodeJS 프로그램을 실행시키는 운영체제(os) 정보를 가져온다.

실제 사용해볼 시점에 따로 참고하기!

1-2. path

nodeJS 으로 실행되는 javascript 프로그램 환경에 대한 경로를 조작할 수 있게 하는 모듈.

💡 파일(이미지,동영상 등)을 저장하거나 접근할 때 많이 쓸 것 같다.
// 모듈 사용
const path = require('path')

// property
const path = {
    sep: '/' // 경로의 구분자
    delimiter : ':' // 환경변수 구분자
}

// method
path.dirname(__filname)
// parameter 파일의 경로
// __dirname과 같은 결과
// parameter에 __dirname 넣으면 얘의 상위 디렉토리 보여줌

path.extname(__filename)
// parameter 파일의 확장자

path.basename(__filename, '.js')
// parameter의 확장자를 뺀 파일이름을 보여줌
// __filename은 경로 + 파일명 다 포함이지만,
// 얘는 직접 파일만 추출할 때! 씀.

path.parse(__filename)
// 해당 경로 파일에 대한 정보 파싱
{
  root: '/',
  dir: '/Users/taeeunkim/Desktop/temp',
  base: 'node.js',
  ext: '.js',
  name: 'node'
}

path.join('/a','/b', /* ... */)
// ⭐ parameter 경로들을 합침
// 출력값 : /a/b/

path.resolve('/a','/b', /* ... */)
// ⭐ parameter 경로들을 합침
// 출력값 : /b/

join() vs resolve()

공통점 으로 경로를 합친다는 게 있다.

join()은 상대적 경로 (./a ..) 까지 다 포함시켜줌.

resolve()는 절대적 경로 (/)를 만나면 그 앞의 경로들을 무시함 (까다로운녀석)

1-3. fs

백준 문제풀이용 모듈,,,

const fs = require('fs')

// 비동기 읽기
// 처리속도 빠름 but 필요에 따라 비동기처리 해야함
fs.readFile('file.txt', 'utf8', function(err, data) {
  console.log(data)
})

// 동기 읽기
// blocking 발생!
const text = fs.readFileSync('file.txt', 'utf8')
console.log(text)

// 백준
const input = fs.readFileSync('/dev/stdin').toString()
// " " 나 "\n" 처리 해줘야함.

1-4. readline

구름 IDE 용 모듈,,,

const readline = require('readline')
// 인터페이스 생성
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
})

// line에 input값 입력됨
rl.on('line', function(line) {
  // 콘솔에 output 출력
  console.log(line)
  rl.close()
}).on('close', function() {
  process.exit()
})

출처 : 구름IDE

1-5. http

🐥 express 학습 후 다시오기!

Written by@taenyKim
웹 프론트엔드 공부 블로그 / Learn in Public

GitHubFacebook