본문 바로가기
Web/Node.js

Node.js 모듈

by supdev 2017. 6. 23.

아래 사이트를 참조하여 작성하였습니다.

https://www.w3schools.com/nodejs/nodejs_modules.asp



Node.js에서 모듈이란


Node.js에서 모듈은 애플리케이션에서 사용될 함수 집합이며 Javascript 라이브러리와 같다고 봐도 무방합니다.



내장 모듈(Built-in Module)


미리 정의된 다양한 모듈들이 존재합니다.

내장 모듈들에 대한 정보는 아래 링크에서 확인할 수 있습니다.

https://www.w3schools.com/nodejs/ref_modules.asp



모듈 사용하기


모듈을 사용하려면 require() 함수를 모듈의 이름과 함께 작성하면 됩니다.


앞서 작성했던 HelloWorld! 출력 소스에서 이 부분이 바로 모듈을 불러오는 부분이며

var http = require('http');


불러온 모듈을 통해 서버를 생성할 수 있었습니다.

http.createServer(function (req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.end('Hello World!');
}).listen(8080);


모듈 생성하기


새로운 Javascript 파일을 작성하겠습니다.

exports 키워드를 사용하면 외부 파일에서 속성 및 메서드를 사용할 수 있습니다.

exports.myName = function () {
	return 'Supdev';
};
exports.myDateTime = function () {
	return Date();
};


생성한 모듈 사용하기


require() 함수를 통해 작성한 모듈을 불러와 변수의 이름을 참조하여 myName() 메서드와 myDateTime() 메서드를 사용했습니다.

var http = require('http');
var mymodule = require('./myfirstmodule');

http.createServer(function (req, res) {
	res.writeHead(200, {'Content-Type': 'text/html'});
	res.write("My name is " + mymodule.myName());
	res.write("
The date and time are currently: " + mymodule.myDateTime()); res.end(); }).listen(8080);


결과 화면


마찬가지로 cmd에서 해당 파일의 경로로 이동하여 node filename.js 명령어를 통해 서버를 실행시켜주고

http://127.0.0.1:8080/ 주소로 접속해 결과를 확인합니다.



끝에 깨지는 부분은 확인이 필요할 것 같습니다.