brew install node
node -v
를 입력해 버전 확인 가능npm -v
를 입력해 npm의 버전 확인 가능▶️ 자바스크립트 언어 사용
▶️ Single Thread, Call Stack
▶️ Non-blocking Input, Output
▶️ 비동기적 이벤트 기반 (Event-Driven) 아키텍처
▶️ NPM?
npm inint
프로젝트를 시작할 때 사용하는 명령어. package.json
에 기록될 내용을 문답형식으로 입력한다.package.json
파일이 생성된다.package.json
파일은 Node.js에서 패키지들이 서로 의존되어 있어 문제가 발생할 수 있는데 이를 관리하기 위한 파일이다.▶️ 체크포인트!
require
가 보인다면 다른 파일을 불러온다는 의미이기 때문에 따라서 이동하면 된다.▶️ 모듈을 만들고 내보내기.
module.exports = 내보낼 것;
이렇게 해준다.()
는 제외하고 함수명만 작성해야한다!//쪼개놓은 파일
const add = (a, b) => a + b;
module.exports = add;
▶️ 모듈 불러와서 사용하기.
require
은 파일(모듈)을 불러오겠다는 의미이다.//❗️메인 파일
const add = require("./math.js");
//add 라는 변수를 선언하겠다. add의 내용(동작)은 math.js 파일에 작성되어있다.
//사용할 때에는 형식을 맞춰주어야 한다.
//쪼개놓은 파일에 작성해놓은 함수는 (a, b)두 개의 값을 넣어주어야한다.
//메인파일에서 사용 할 때에도 동일하게 해줘야 한다.
console.log(add(5,6));
▶️ 모듈을 내보내고 사용하는 다양한 방식.
//쪼개놓은 파일
//아래처럼 선언하고
const add = (a, b) => a + b;
const minus = (a, b) => a - b;
const PI = 3.14;
//이렇게 내보내기
module.exports = {
add,
minus,
PI,
};
//얘는 결국 이러한 값이 내보내기가 되는 것
module.exports = {
add: add,
minus: minus,
PI: PI,
};
//❗️메인 파일
//파일에서 여러개의 식별자를 객체 형태로 내보내는 경우에는
//모듈을 받아올 때 math로 선언하고 해당 파일을 불러온다.
//그리고 선언한 해당 파일에 있는 add라는 함수를 이용하겠다. 이거는 sum으로 선언.
//결국 sum은 math안에 있는 add라는 함수를 사용하는 것이다.
//위에서 math를 선언했으니까 거기서 add를 빼오게 되는 것.
//쪼개놓은 파일에서 만든 함수와 동일하게 매개변수 값을 두개 넣어준다.
const math = require("./math.js");
const sum = math.add(3, 5);
//console해보면 8 출력.
console.log(sum);
const {가져올거} = require(”파일위치”);
//쪼개놓은 파일은 위와 동일하고 그 결과값도 동일하다.
//함수를 선언한 파일을 가져오고 그 파일 중 원하는 부분을 가져올 것이냐
//함수를 선언한 파일에서 특정한 부분만 빼오느냐의 차이! (이게 객체구조 분해 할당)
//쪼개놓은 파일
//아래처럼 선언하고
const add = (a, b) => a + b;
const minus = (a, b) => a - b;
const PI = 3.14;
//이렇게 내보내기
module.exports = {
add,
minus,
PI,
};
//❗️메인 파일
//모듈을 만들고 파일별로 내보낼때는 한번에 내보내야한다.
//근데 만들어진것들이 다 필요하지 않을 수 있다.
//필요한것만 가져올 때 객체구조분해할당을 해서 가져온다.
//아래와 같은 구조가 객체구조분해할당.
//메모리 효율상 이렇게 필요한것만 가져오는걸 추천한다!
//가져오고싶은 것만 가져올 때 key값 그대로 가져오면 된다.
//아래는 내보낸 모듈 중 add만 할당해서 가져오겠다는 의미.
//객체를 분해해서 가져오는거기 때문에 이름은 꼭 동일해야한다!
const { add } = require("./math.js");
//이런식으로 필요한 여러개를 가져올 수도 있다.
// const { add, minus } = require("./math.js");
//여기서 체크! 아래 내용을 console 해보면 아래 두가지는 출력되지 않는다.
console.log(sum); //sum을 가져오지 않았기 때문.
console.log(math.PI); //math가 뭔지 선언하지 않았기 때문에 PI도 가져올 수 없다.
//결국 위와의 차이점은 타고 들어갈 필요가 없이 원하는 부분만 딱 가져올 수 있는 것!
module.exports.add = (a, b) => a + b;
module.exports.minus = (a, b) => a - b;
module.exports.PI = 3.14;
node
를 불러오고 작성한 파일명을 적어주면 출력된 값을 확인할 수 있다. (참고로 단축키는 ctrl + ~
)💬
console.log
를 하고 웹사이트에 들어가 개발자도구를 확인하는게 좀 번거롭다고 생각하기는 했는데 이렇게 vscode에서도 바로 보여지니 신기했다.