모듈(module)이란?
- 전체를 이루는 부품 하나하나
JavaScript 파일하나를 모듈이라고 할수 있음
프로그램은 그런 모듈들이 모여서 생성된것
다른 파일에 있는 함수를 사용하려면 모듈을 로드해야함
export()
// math-tools.js
function add(a,b) {
return a + b
}
export.add = add;
require()
// main.js
const m = require('./math-tools.js')
console.log(m.add(1,2)); // 3
require()는 모듈을 로드해서 객체 1개를 리턴합니다.
1. 모듈의 확장자인 .js를 꼭 붙이지 않아도 됨
main.js 모듈에서 math_tool.js 모듈을 로드할 때
const m = require('./math-tools.js');
이렇게 파일 이름 뒤에 붙은 .js라는 확장자까지 전부 적었지만 그럴 필요 없음
const m = require('./math-tools');
2. 모듈의 경로를 정확하게 작성해야 함
현재파일을 기준으로 불러올 파일의 경로를 작성하면 좋음 (상대경로)
절대경로도 가능
const m = require('./math-tools.js');
3. require 함수가 리턴하는 객체는 상수로 대입하는 게 좋음
모듈이 리턴한 객체를 상수로 받으면, 상수 m에 새로운 값을 다시 지정하려는 코드 자체에서 에러가 발생하기 때문에,
잘못된 코드를 작성하는 것을 미리 방지할 수 있음.
4. 모듈 안의 모든 것들을 공개할 수 있음
변수에서부터 객체까지, 모듈 안에 있는 것들은 모두 다른 모듈이 사용하도록 공개할 수 있습니다.
add 함수 말고도 변수(author), 상수(PI), 객체(test)를 추가하고 맨 아래에서 exports 키워드로 이것들을 하나씩 다 공개해주었습니다.
그리고 main.js 모듈에서
이것들을 모두 사용했습니다.
터미널에서 main.js 모듈을 실행해보면
이렇게 모두 잘 사용할 수 있다는 것을 알 수 있습니다
'codeit' 카테고리의 다른 글
코드잇 [node.js: 시작하기] (0) | 2022.06.05 |
---|