February 09, 2020
구체적으로 nodeJS로 무엇을 할 수 있을까?
nodeJS 프로그램을 실행시키는 운영체제(os) 정보를 가져온다.
실제 사용해볼 시점에 따로 참고하기!
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()는 절대적 경로 (/)를 만나면 그 앞의 경로들을 무시함 (까다로운녀석)
백준 문제풀이용 모듈,,,
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" 처리 해줘야함.
구름 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