Ctrl + J로 자체 터미널 열기 ✨ npm init 치고 나머지 모두 다 enter만 입력해서 디폴트값으로 패키지 생성index.js 파일을 하나 생성하고 node index.js 를 커맨드 창에 입력해서 실행하면 index.js 파일이 잘 실행됨. package.json 파일을 열고 아래와 같이 코드를 편집해주면 npm run start로 바로 실행이 가능함 (이미 단축어처럼 만들어두었으므로 파일 경로를 일일이 적지 않아도 됨){
"name": "nodejs_study",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js" // 이 부분을 추가!!
},
"author": "",
"license": "ISC"
}
.js 파일을 생성하는 것을 모듈이라 부름// math 모듈 (math.js)
function add(a, b) {
return a + b;
};
function sub(a, b){
return a - b;
}
module.exports = {
add: add, // add 라는 이름으로 add 함수를 내보내기
sub, // 내보내려는 이름과 함수 이름이 동일할 경우 한번만 적어도 됨
}
// math 모듈 받아오기 1
const moduleData = require("./math");
console.log(moduleData); // { add: [Function: add], sub: [Function: sub] }
console.log(moduleData.add(1, 2)); // 3
console.log(moduleData.sub(1, 2)); // -1
// math 모듈 받아오기 2 (이게 더 편리함!)
const {add, sub} = require("./math");
console.log(add(1, 2)); // 3
console.log(sub(1, 2)); // -1
package.json 파일에 들어가서 다음과 같이 수정해줘야 함{
"name": "nodejs_study",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js"
},
"author": "",
"license": "ISC",
"type": "module" // 추가한 부분!!
}
// math 모듈 (math.js)
function add(a, b) {
return a + b;
};
function sub(a, b){
return a - b;
}
export default function multiply(a, b){
return a * b;
} // 대표 함수에는 default를 붙여서 설정함
export { add, sub }; // 전달하기
// 각 function 앞에 export를 붙여도 동일하게 동작!
// math 모듈 받아오기
import mul, { add, sub } from "./math.js";
// 반드시 .js등의 확장자까지 기재해야 함!!
// 대표함수는 이름을 바꿔서 불러올 수도 있음
console.log(add(1, 2)); // 3
console.log(sub(1, 2)); // -1
console.log(mul(2, 4)); // 8
설치시 발생하는 변화들:
1. package.json 파일이 아래와 같이 변함
{
"name": "nodejs_study",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js"
},
"author": "",
"license": "ISC",
"type": "module",
"dependencies": { // 이렇게 자동으로 바뀜
"randomcolor": "^0.6.2"
}
}
^가 앞에 붙어있으므로 대략적인 버전을 기재했다는 것을 알 수 있음package-lock.json 파일이 생성됨node_modules라는 폴더가 생기며, 해당 폴더에는 설치한 패키지의 실제 코드 등이 저장됨npm i만 입력해주면 package.json의 정보에 따라 재설치가 진행됨 (여러 패키지를 사용중인데 뭐 하나가 없어서 오류뜰때 쓰기 좋을듯)node_modules 폴더는 공유하지 않음 ➡️ 공유받은 사람이 npm i로 바로 설치해서 사용할 수 있기 때문! 라이브러리 불러와서 사용해보기:
import randomColor from "randomcolor"
// import 우리가원하는이름 from "불러온라이브러리이름"
const color = randomColor();
console.log(color);