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",
}));