yunajoe 2023. 1. 14. 18:41

 

Node.js의 모듈에는 크게 3가지 종류가 있습니다.

(1) 내가 직접 작성한 모듈(이런 모듈은 '커스텀 모듈'이라고도 합니다)

(2) node 프로그램에 내장된 모듈(______ 모듈)

(3) 다른 개발자나 회사에서 인터넷상의 공개 저장소를 통해 제공하는 모듈('서드파티 모듈')

이 3가지인데요. 이때 (2)번의 빈 칸에 들어갈 단어를 한글로 적어보세요.

모듈 내부의 것들을 외부에 공개할 때는 exports 또는 module.exports를 씁니다.

  • exports.프로퍼티 이름 = 프로퍼티 값
  • module.exports = 객체

이런 식으로 사용한다는 사실 잘 기억하세요.

 

 

main.js 모듈에서 string-utils.js라는 모듈을 로드하려고 합니다. 다음 빈 칸에 들어갈 함수의 이름은?
const stringUtil = ______('./string-utils');

 

 

 

 

 

 

 

 

 

모듈 하나씩 내보내기 

// exports.PI = 3.14; 
// exports.add = function add(a,b) {return a+b;}; 
// exports.subtract = function subtract(a,b) { return a - b;}; 
// exports.multiply = function multiply(a,b) { return a * b };
// exports.divide = function divide(a,b) {return a/b; };

 

여러개의 모듈 같이 내보내기 

 

// let calculator = {
//     PI: 3.14, 
//     add: (a,b) =>  a + b, 
//     subtract: (a,b) => a - b, 
//     multiply: (a,b) => a * b, 
//     divide: (a,b) => a / b, 
// }; 

// // module.exports = calculator;

 

1. 내가 직접 만든 모듈
2. 이미 낟르어져 있는 모듈
2-1) 코어 모듈
- node.js를 설치하면 내장되어있는 모듈

 

const os = require('os'); 
console.log(os.cpus())

 

const fs = require('fs'); 
let fileList = fs.readdirSync('.'); 
console.log(fileList);

 


2-2) 서드파티 모듈

 

node_modules

package-lock.json

 

package-lock.json  >> 현재 작업 디렉토리에 어떤 서드파티 디렉토리들이 설치되었는지에 관한 정보가 담긴 파일
node_nodules >>서드파티 모듈들이 실제로 설치되어 있는 디렉토리====================================

 

node.js vs 크롬 vs사파

다른점은? 
API가 다른다 
(Application Programming Interface)
 어떤 플랫폼이나 실행환경 등엣 제공하는 인터페이스 , 
특정 환경에서 자유롭게 가져다 쓸 수 있는 함수나 객체 등을 의미 



브라우저 vs 노드Js 
브라우저 
>> 시각적 표현 필요. 따라서 UI관련 APi
>> window, document 객체가 있다


노드 
>> 시각적 표현 필요 X,  UI관련 API 필요 
>> window, document 객체가 있다
컴퓨터 제어 API 있다 (파일생성, 컴퓨터 정보 확인..) 

 

 

// npm install cowsay
const cowsay = require('cowsay'); 

console.log(cowsay.say({  
    text: "I LOVE JS", 
}));