Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

SYDev

[Node.js] 18. 모듈 본문

대딩코딩/웹개발 스터디

[Node.js] 18. 모듈

시데브 2023. 11. 23. 21:01
해당 게시물은 유튜브 생활코딩 "Node.js" 강의 영상을 참고했습니다.
(https://www.youtube.com/watch?v=3RS_A87IAPA&list=PLuHgQVnccGMA9QQX5wqj6ThK7t2tsGxjm&index=1)

 

 

모듈의 형식

 파일명: mpart.js

var M = {
    v: 'v',
    f: function() {
        console.log(this.v);
    }
}

module.exports = M; //다른 파일에서 모듈을 사용할 수 있게 해줌

 

 

 파일명: muse.js

var part = require('./mpart.js');
console.log(part);
part.f();
{ v: 'v', f: [Function: f] }
v

>> 큰 어플리케이션 하나를 여러 파일로 나누어 관리하기에 용이

 

모듈의 활용

 파일명: template.js

module.exports = {
    HTML: function templateHTML(title, list, body, control) {
      return `
      <!doctype html>
      <html>
      <head>
        <title>WEB - ${title}</title>
        <meta charset="utf-8">
      </head>
      <body>
        <h1><a href="/">WEB</a></h1>  
        ${list}
        ${control}
        ${body}
      </body>
      </html>
      `;
    }, list: function templateList(filelist) {
      var list = '<ol>';
      var i = 0;
      while(i < filelist.length) {
        list += `<li><a href="/?id=${filelist[i]}">${filelist[i]}</a></li>`;
        i++;
      }
      list += '</ol>';
    
      return list;
    }
  }

 

 

파일명: main.js

var http = require('http');
var fs = require('fs');
var url = require('url');
var qs = require('querystring');

var template = require('./lib/template.js');	//해당 경로에 있는 template.js 모듈을 불러와서 이용

...