상세 컨텐츠

본문 제목

Node 내장 모듈 01

Node.json

by simstealer 2022. 9. 13. 17:37

본문

1. OS

- os 정보를 가져올 수 있다.

 

os.arch()             : 아키텍처

os.platform()       : 운영체제

os.type()             : 운영체제의 종류

os.uptime()         : 부팅 이후 흐른 시간

os.hostname()    : 컴퓨터 이름

os.release()        : 운영체제 버전

os.homedir()       : 홈 디렉토리

os.tmpdir()          : 임시 파일 경로

os.cpus()            : 코어 수

os.freemem()      : 사용 가능한 메모리

os.totalmem()     : 전체 메모리

 

2. path

- 폴더와 파일의 경로를 쉽게 조작하도록 도와준다.

- 가장 중요한건 운영체제 별로 경로 구분자가 다르기 때문이다.(윈도우 \, 리눅스 /)

 

path.sep                                               : 경로 구분자 확인 

path.delimiter                                       : 환경 변수 구분자 확인 (; or :)

path.dirname(경로)                              : 파일이 위치한 경로

path.extname(경로)                             : 파일의 확장자

path.basename(경로, 확장자)             : 파일의 이름, 확장자 표시

path.parse(경로)                                  : 파일 경로를 분리함

path.fotmat(객체)                                 : parse한 걸 다시 합친다

path.normalize(경로)                            : 정상적인 경로를 반환

path.isAbsolute(경로)                           : 파일의 경로가 절대경로인지 상대경로인지 true, false로 반환

path.relative(기준경로, 비교경로)        : 기준 경로에서 비교 경로가 가는 법을 알려준다

path.join(경로)                                      : 여러 인수를 넣으면 하나의 경로로 합친다

path.resolve(경로)                                : join과 비슷하다

 

3. url

- WHATWG의 방식을 사용한다. (주소 체계 : protocol / user / password / host / pathname / search / hash)

const url = require('url');

const { URL } = url;
const myURL = new URL('http://www.ioi.co.kr/boo/boo.aspx?sercate1=00#anchor');
console.log('new URL():', myURL);
console.log('url.format():', url.format(myURL));
console.log('------------------------------');
const parsedUrl = url.parse('http://www.ioi.co.kr/boo/boo.aspx?sercate1=00#anchor');
console.log('url.parse():', parsedUrl);
console.log('url.format():', url.format(parsedUrl));

url.parse(주소)  : 주소를 분해한다

url.format(객체) : 분해된 주소를 조립한다

 

search부분에 searchParams라는 객체로 반환하게 되는데, 주소를 통해 키=값으로 데이터를 전달하는데 사용하고 

"?"로 시작한다 여러개가 있을 경우, &로 구분을 짓는다.

const { URL } = require('url');

const myURL = new URL('http://www.ioi.co.kr/?page=3&limit=10&category=nodejs&category=javascript');
console.log('searchParams:', myURL.searchParams);

// getAll() : 키에 해당하는 모든 값을 가져옵니다.
console.log('searchParams.getAll():', myURL.searchParams.getAll('category'));

// get() : 키에 해당하는 첫번째 값만 가져옵니다.
console.log('searchParams.get():', myURL.searchParams.get('limit'));

// has() : 해당 키가 있는지 확인합니다.
console.log('searchParams.has():', myURL.searchParams.has('page'));

// keys() : 모든 키를 반복기(Es2015문법)객체로 가져옵니다.
console.log('searchParams.keys():', myURL.searchParams.keys());

// values() : 모든 값을 반복기 객체로 가져옵니다.
console.log('searchParams.values():', myURL.searchParams.values());

// append(키, 값) : 해당 키를 추가합니다. 키가 중복되어도 하나더 추가합니다.
myURL.searchParams.append('filter', 'es3');
myURL.searchParams.append('filter', 'es6');
console.log(myURL.searchParams.getAll('filter'));

// set() : 같은 키의 값을 모두 지우고 새로 추가합니다.
myURL.searchParams.set('filter', 'es6');
console.log(myURL.searchParams.getAll('filter'));

// delete() : 해당 키를 제거합니다.
myURL.searchParams.delete('filter');
console.log(myURL.searchParams.getAll('filter'));

// toString() : 조작한 searchParam을 다시 문자열로 만듭니다.
console.log('searchParams.toString():', myURL.searchParams.toString());
myURL.search = myURL.searchParams.toString();

3-1. querystring

- search 부분을 사용하기 쉽게 객체로 만드는 모듈

const url = require('url');
const querystring = require('querystring');

const parsedUrl = url.parse('http://www.ioi.co.kr/?page=3&limit=10&category=nodejs&category=javascript');
const query = querystring.parse(parsedUrl.query);
console.log('querystring.parse():', query);
console.log('querystring.stringify():', querystring.stringify(query));

○ querystring.parse(query) : url의 query부분을 자바스크립트 객체로 분해

○ qurerystring.stringfy(객체) : 분해된 query 객체를 문자열로 다시 조립

'Node.json' 카테고리의 다른 글

Node 내장 모듈 03  (0) 2022.09.14
Node 내장 모듈 02  (0) 2022.09.14
[JavaScript] process.nextTick  (0) 2022.09.13
[JavaScript] process.env / process.exit  (0) 2022.09.13
[JavaScript] module  (0) 2022.09.13

관련글 더보기

댓글 영역