module및 Bundle

수민·2023년 1월 18일
0

code1

목록 보기
3/4
post-thumbnail

module연습


index.js


// 원의 넓이를 구하는 공식
// 2.PI 정의
// 3. 공식을 등록 결과 열기



// const {getCircleArea}=require('./mathUtil')
import mathutil from './mathutill'

const result=mathutil.getCircleArea(2);
console.log(result);



matchutill.js


const PI=3.14;
const getCircleArea=r=>r*r*PI;
const getSqureArea=d=>d*d;



// exports.PI=PI;
// exports.getCircleArea=getCircleArea;


export {
  PI,
  getCircleArea,
  getSqureArea
}



raedline.js

const readline=require('readline');
const ri=readline.createInterface({
  input:process.stdin,
  output:process.stdout,
});
// require을 통해 입력받음.
const{getCircleArea,getSqureArea}= require('./mathutil')

const{logFigureError,logInput,logResult}=require('./log')


ri.question('원하는 도형을 작성헤주세요: (정사각형,원)',figure=>{
  console.log(`선택된 도형 : ${figure}`);


  switch(figure){
    case "정사각형":
      ri.question('변의 길이를 입력해주세요',input=>{
        console.log(logInput(input) );
        console.log(logResult(figure,getSqureArea(input)));
        ri.close();
      })
      break;
    case "원":
      ri.question('반지름의 길이를 입력해주세요,',input=>{
        console.log(logInput(input));
        console.log(logResult(figure,getCircleArea(input)));
        ri.close();
      })
      break;
    default:
      console.log(logFigureError);
      ri.close();
  }
})


log.js

const logInput=input=>`입력받은 값 : ${input}`;
const logResult=(figure,result)=>`${figure} 넓이는 ${result}`
const logFigureError=`지원되지 않는 도형입니다.`;

module.exports={
  logInput,
  logResult,
  logFigureError
}

Bundle 중요한이유

  1. 모든 모듈을 로드하기위해 검색하는 시간을 줄여줌.
  2. 사용하지 않는 코드를 제거
  3. 파일의 크기를 제거

webpack 이해하기.

Entry

profile
헬창목표

0개의 댓글