os모듈

자바스크립트는 운영체제의 정보를 가져올 수 없지만, 노드는 os 모듈을 통해 정보를 가져오는것이 가능하다.

os.arch() : 아키텍쳐 정보를 보여준다
os.platform() :  운영체제 플랫폼 정보를 보여준다.
os.type() :운영체제 종류를 보여준다.
os.uptime() : 운영체제 부팅 이후 흐른 시간을 보여준다.
os.hostname() : 컴퓨터의 이름을 보여준다.
os.release() : 운영체제의 버전을 보여준다.
os.homedir() : 홈 디렉터리 경로를 보여준다.
os.tmpdir() : 임시 파일 저장 경로를 보여준다.
os.cpus() : 컴퓨터의 코어 정보를 보여준다.
os.freemem() : 사용 가능한 메모리를 보여준다.
os.totalmem() : 전체 메모리 용량을 보여준다.

 

path 모듈

폴더와 파일의 경로를 쉽게 조작하도록 도와주는 모듈이다.

path.sep : 경로의 구분자를 보여준다. windows 타입은 \, POSTIX 타입은 /을 경로 구분자로 사용한다.
path.delimiter : 환경 변수의 구분자이다. process.env.PATH를 입력하면 여러 개의 경로가 이 구분자로 구분되어있다. Windows는 세미콜론(;), POSTIX는 콜론(:)이다.
path.dirname(__dirname) : 파일의 폴더 경로를 보여준다.
path.extname(__dirname) : 파일의 확장자를 보여준다.
path.basename(__dirname, extension) : 파일의 이름(확장자 포함)을 보여준다. 파일의 이름만 표시하고싶다면 basename의 두 번쨰 인자로 파일의 확장자를 넣으면 된다.
path.parse(__dirname) : 파일 경로를 root, dir, base, ext, name으로 분리한다.
path.format(__dirname) : path.parse()한 객체를 파일 경로로 합친다. 
path.normalize(__dirname) : /나 \를 잘못 사용(중복 사용 혹은 혼용)했을 때 정상적인 경로로 변환한다.
path.isAbsolute(__dirname) : 파일의 경로가 절대경로인지 상대경로인지 알려준다.(true / false)
path.relative(dirA, dirB) : 경로를 두개 넣으면 첫번째 경로에서 두번쨰 경로로 가는 방법을 알려준다.
path.join(__dirname, ...) : 여러 인자를 넣으면 하나의 경로로 합쳐준다. 상대경로인 부모 디렉터리와 현 위치도 자동으로 처리해준다.
path.resolve(__dirname, ...) : path.join()과 유사하지만, /를 만나면 절대경로로 인식해 앞의 경로를 무시한다. 

 

url 모듈

url처리에는 두 가지 방식이 있다.

노드 버전 7에서 추가된 WHATWG방식과 기존 노드에서 사용하던 방식이 있다.

두 방식의 url 구분 방법은 다음 그림과 같다.

위쪽이 기존 노드, 아래쪽이 WHATWG의 구분 방법이다.

기존 노드 방식에서는 다음 두 메서드를 주로 사용한다.

url.parse(adress): 주소를 분해한다.
url.format(object): parse로 분해되었던 url 객체를 다시 원래 상태로 조립한다.

WHATWG 방식은 search 부분을 searchParams라는 객체로 반환한다.
search부분은 주소를 통해 데이터를 전달할 때 사용되는데, ?로 시작하여 키=값 형식으로 데이터를 전달한다.
여러 키를 전달할 때는 &로 구분한다.

searchParams객체는 다음 메서드를 지원한다.

getAll(key): 키에 해당하는 모든 값들을 가져온다.
get(key): 키에 해당하는 첫 번째 값만 가져온다.
has(key): 해당 키가 존재하는지 검사한다.
keys(): searchParams의 모든 키를 반복기 객체로 가져온다.
values(): searchParams의 모든 값을 반복기 객체로 가져온다.
append(key, value): 해당 키를 추가한다. 같은 키의 값이 있다면 유지하고 하나 더 추가한다.
set(key, value): append와 비슷하다. 하지만 같은 키의 값들을 모두 지우고 새로 추가한다.
delete(key): 해당 키를 제거한다.
toString(): 조작한 searchParams 객체를 다시 문자열로 만든다. 이 문자열을 search에 대입하면 주소 객체에 반영된다.

 

querystring 모듈

기존 노드의 url의 search 부분을 사용하기 쉽게 객체로 만드는 모듈이다.

querystring.parse(query): url의 query 부분을 자바스크립트 객체로 분해한다.
querystring.stringfy(object): 분해된 query 객체를 다시 문자열로 합한다.

 

+ Recent posts