모듈이란?

모듈은 프로그래밍의 도구라고 생각하면 된다.
외부 모듈을 가져오는 경우, 그 모듈의 메서드를 사용할 수 있으므로
필요한 모듈을 활용하는 방법을 알아두도록 하자.


nodejs로 웹서버 만들기 : (http 모듈 필요)

모듈을 불러와 사용하는 법은 다음과 같다

⇒ require로 불러와 변수에 담기 + 변수로 모듈에 접근
Ex. const http = require('http'); http.createServer();

const http = require('http')
const hostname = '127.0.0.1';
const port = 1337;
 
http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Hello World\n');
}).listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});
// var app = http.createServer((req,res) => {});
// app.listen(port,hostname);

Node js는 다양한 모듈과 더 다양한 메서드를 제공한다.
이러한 메서드 사용 방법은 nodejs 홈페이지 > 문서로 가서 확인할 수 있다. (crtl+f)


NPM(node package manager)

앞서 배운 require으로 가져올 수 있는 모듈은 js가 기본적으로 제공하는 모듈이다.
but, 외부 모듈을 사용해야 한다면?

이때 사용할 수 있는게 npm이다.
npm은 node계의 '앱스토어'로 이해할 수 있다.
npm으로 node로 만들어진 소프트웨어들을 사용할 수 있다.
(이전 수업에서의 pm2도 npm의 일종)

cf. npm은 Node.js를 다운로드할때 같이 다운되므로 별도의 설치없이 사용할 수 있다.

NPM 주소 : https://www.npmjs.com/


npm init

npm init 명령어가 실행되면 package.json 파일이 생성된다. (이를 패키지화라고 한다.)
package.json 파일은 프로젝트 정보와 의존성(dependencies)을 관리하는 문서이다.

때문에 npm init을 실행하면 아래와 같은 옵션에 답해야 한다. (당황하지 말자)

  • package name / version / description / entry point / test command
    git repository / keywords / author / license

Ex. npm의 uglify 모듈

다운로드 명령어 : npm install uglify

uglifyjs pretty.js
: pretty.js 의 공백을 없애줌

function hello(name){console.log("Hi,"+name)}var name="나영서";hello(name);

uglifyjs pretty.js -m
: pretty.js의 공백을 없애줌 + 이름을 바꿔도 상관 없는걸 한글자로 바꿈
function hello(l){console.log("Hi,"+I)}var name="나영서";hello(name);


call back 함수

몇몇 메서드에서는 인자로 call back 함수를 받을 수 있다.
call back 함수는 메서드의 과정이 끝난다음 실행되는 함수로
함수의 기본 기능을 확장할 수 있다는 장점이 있다.
코드의 동기, 비동기 상관 없이 메서드의 과정이 끝나야만 실행된다.

Ex. fs.createServer(function(res,req){ }) ⇒ 서버가 만들어진 다음 function이 실행된다.

profile
공부한 것들을 정리하기 위한 용도입니다.

0개의 댓글

관련 채용 정보