250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- crud2
- on_delete
- nodeJS
- django westagram
- status code
- 스코프
- async/await
- 실행 컨텍스트
- TypeError: this.boardRepository.createBoard is not a function
- pm2
- wecode
- typescript
- 자바스크립트
- 장고초기세팅
- OSI7계층
- westagram
- node
- 노드
- 프로미스
- 트랜잭션
- CORS
- JWT
- 호이스팅
- docker
- Django
- javascript
- Jest
- bcrypt
- rebase
- manytomanyfield
Archives
- Today
- Total
될때까지
모듈 만들기 본문
728x90
노드는 자바스크립트 코드를 모듈로 만들 수 있다.
- 모듈 : 특정한 기능을 하는 함수나 변수들의 집합을 말한다.
- 모듈로 만들면 여러 프로그램에서 재사용이 가능하다.
// var.js
const odd = '홀수입니다.';
const even = '짝수입니다.';
module.exports = {
odd, // odd : odd => odd객체를 그냥 odd로 생략 가능
even
};
다른 파일로 내보내기 위해서 module.exports를 사용하고 내보낼 아이들은 주로 객체로 생성해서 보내준다.
module.exports는 파일에서 1번만 사용 가능하다.
// func.js
const value = require("./var"); // ..은 부모폴더! .은 현재 폴더!
console.log(value); // { odd: '홀수입니다.', even: '짝수입니다.' } 객체가 찍힌다.
const odd = value.odd;
const even = value.even;
console.log(odd); // 홀수입니다.
console.log(even); // 짝수입니다.
require를 사용하여 건네진 아이들을 import할 수 있다. 이때 괄호안에는 경로를 적어줘야한다. 객체자체를 받아서 .을 사용해 원하는 값을변수에 저장할수도 있지만, 구조분해할당을 사용하면 아래처럼 간단하게 저장 가능하다.
const {odd, even} = require("./var");
console.log(odd); // 홀수입니다.
console.log(even); // 짝수입니다.
다른 경로로 또 내보내보자.
// func.js
const {odd, even} = require("./var");
function checkOddOrEven(number) {
if (number % 2) {
return odd;
} else {
return even;
}
}
module.exports = checkOddOrEven;
index.js에서는 간편하게 require를 사용해서 코드의 중복은 줄이되 해당 코드들을 가져다 사용할 수 있다.
// index.js
const {odd, even} = require("./var"); // 구조분해할당은 속성명이랑 변수명이 같아야함
const checkNumber = require("./func"); // 변수는 변경가능함
function checkStringOddOrEven(str) {
if (str.length % 2) {
return odd;
} else {
return even;
}
}
console.log(checkNumber(10));
console.log(checkStringOddOrEven('hello'));
728x90
'학습 > Node.js' 카테고리의 다른 글
process (0) | 2022.08.21 |
---|---|
노드 내장 객체 알아보기(global, console, timer, __filename, __dirname, this, require) (0) | 2022.08.21 |
REPL 사용하기, JS파일 실행하기 (0) | 2022.08.21 |
Promise, async/await (0) | 2022.08.21 |
클래스 (0) | 2022.08.21 |