-
[강의 정리] 한시간만에 끝내는 Node.js by 개발자의 품격공부 기록/JavaScript 2023. 2. 5. 13:35728x90
* Reference Video: https://www.youtube.com/watch?v=toLDNN4FQv0
https://nodejs.org/en/ 에서 내가 사용하는 node.js 버전 확인 가능
npm(node.js package manager) 오픈소스를 사용할 수 있는 매니저. 다양한 기능의 라이브러리를 npm install을 이용하여 가져다 사용할 수 있다.
node -v
npm -v
사용하고자 하는 기능은 npm {exel/ mysql} 등으로 검색
https://www.npmjs.com/package/nodemailer
https://nodemailer.com/about/에서 안내하는 명령어 입력
```
설치하면 다음 두 파일 생성됨
- node modules: 이 폴더 안에 설치하는 모듈들이 저장됨
- package-lock.json: 모듈들의 디펜던시 보여주는 파일
// https://nodemailer.com/usage/서 안내하는 코드 사용 let transporter = nodemailer.createTransport(transport[, defaults])
https://nodemailer.com/smtp/에서 transport에 대한 정보 알려줌 (port, host, auth 등)
아래사이트에서 얻은 정보(mailtrap) -> 다음시간에 익힌 후 테스트해보자.
const nodemailer = require('nodemailer'); // 설치한 파일 불러옴 const { isGeneratorFunction } = require('util/types'); const email = { "host": "", "port": "", "secure": false, "auth": { "user": "", "pass": "" } } const send = async (option) => { nodemailer.createTransport.sendMail(option, (error, info) => { if (error) { console.log(error); }else { console.log(info); return info.response; //에러안나면 정보 리턴 } }); }; let email_data = { from: 'nale87@namver.com', to: 'nale87@naver.com', subject: 'test mail', text: 'content' } send(email_data);
npm install express --save 명령어 입력하여 express 설치
설치하면 package-lock.json에 많은 내용이 추가되는데, express 모듈을 개발한 개발자가 사용한 또 다른 모듈들이 함께 저장되기 때문이다. ("requires" 하위에, node_molduls 폴더ㅗ 하위)
https://expressjs.com/en/guide/routing.html 참고
서버띄워서 호출하는 코드
const express = require('express'); // 내가 설치한 모듈 가져오기 const app = express(); // 모듈 가져오는 express라는 method 호출 const server = app.listen(3000, () =>{ // 포트명과 콜백함수 정의. 3000 포트로 정상적으로 서버가 띄워주면 로그 출력 console.log('Start server : localhost:3001'); });
웹서버에 접근을 성공하면 다음과 같이 나옴
서버가 띄워지지않았다면 사이트가 존재하지 않으므로 다음과 같은 페이지 표시
서버가 어떤 기능과 매핑할지 결정하는 것을 라우팅이라 함(어떤 정보를 줄지, 올릴지..)
라우터를 정의
라우터에 따라 어떻게 처리할지 결정됨.
https://expressjs.com/en/4x/api.html#res.render
어떤 페이지를 보여주는 (렌더링) 메서드
ejs: javascript와 html을 같이 쓸 수 있게 해주는 탬플릿 (jsp와 비슷하다고함.)
엔진을 ejs를 사용할 예정
npm install ejs --save
myeSQL이라는 모듈을 이용하여 마리아 DB 설치
https://www.npmjs.com/package/mysql
마리아 DB에 데이터 저장 --> DB 정보 연결
나는 마리아 DB가 없으므로 이 부분은 나중에 해보자!
일단 이 강의를 통해 맛보기를 했고, nodejs에 대한 장점을 되짚어본다면,
- js로 클라이언트 쪽 뿐 아니라 서버쪽 프로그램을 사용할 수 있다!
- npm이라는 오픈 소스 생태계를 이용하여 필요한 기능들을 짧은 코드르 구현할 수 있다.
(그래서 javascript runtime이라고 표현을 했구나.)
'공부 기록 > JavaScript' 카테고리의 다른 글
바닐라JS 챌린지 시작 (3/20~) (0) 2023.03.20 [강의 정리] Node.js웹 서버에 Swagger UI 입혀보기 by 동빈나 (0) 2023.02.09 [강의 정리] Node.js로 간단한 API 구현 및 정적 파일 제공해보기 by 동빈나 (0) 2023.02.08 [강의 정리] Node.js에서 API 서버 만들기 by 개발자의 품격 (0) 2023.02.06 [강의 정리] 자바스크립트의 역사와 현재 그리고 미래 by 드림코더 (0) 2023.02.03