const printHello = ()=>{
console.log('Hello');
}
let nums = [1,2,3,4];
const PI = 3.14;
class User{
name;
constructor(name){
this.name = name;
}
introduce(){
console.log(`Hello, my name is ${this.name}`);
}
}
let user1 = new User('user1');
function hello(msg){
console.log('export function' + msg);
}
exports.printHello = printHello;
exports.nums = nums;
exports.PI = PI;
exports.User = User;
exports.user1 = user1;
exports.hello = hello;
exports.printMessage = message =>{
console.log(message);
}
먼저 전달해 줄걸 만든 다음에, (위처럼 배열, 상수, 변수, 클래스, 함수, 익명함수, 객체 등)
exports.외부에서접근할이름 = 전달할것.
const PI = 3.14; 를 전달하고 싶으면
exports.PI = PI;
exports.PI는 꼭 PI는 아니여도 되지만, 보통 이렇게 맞춰주는 듯 하다.
이렇게 해 주고
다른 js 파일에
const server = require('./server.js');
console.log(server.PI);
new server.User('user2');
server.hello('hello!!')
server.user1.introduce();
이렇게 하면 쓸 수 있음.
const 외부모듈객체이름으로쓸것 = require(경로);
하면 저기 외부모듈객체이름으로쓸것에 저 외부 모듈에서 exports 한 거 다 들어감.
앞서 말 했듯이, server.접근할이름 해서 접근하면 됨.
불러오는 파일의 required 이거 파일 이름은 제대로 지정해야 하지만, 이름은 내 맘대로 쓸 수 있음.
그런데 보통 맞춰주는게 좋겠지.
module.exports={
}
이거는 한번에 모듈로 묶어서 캡슐화해서 exports 한다는 거라고 하는데...
node.js가 이 기술을 사용하기로 채택했다고 한다.
'프론트엔드-코드 > Node.js' 카테고리의 다른 글
프로젝트 폴더에 폴더 생성 (0) | 2023.10.06 |
---|---|
서버 띄우기 (0) | 2023.10.05 |
favicon (0) | 2023.09.06 |
프로젝트의 파일에 수정/변경이 있을 시 서버를 자동으로 재실행 시켜주는 nodemon (0) | 2023.09.04 |
parcel bundler 필수 플러그인 (0) | 2023.09.04 |