[Node.js] 3일차 : 동적 웹페이지 만들기, 파일IO
만든 날짜: | 2019-01-09 오전 9:36 |
본 글은 출처 생활코딩-https://opentutorials.org/course/3332/21062-에 있는 강의를 들으며 요약정리한 내용입니다. 원내용은 위 링크에서 확인할 수 있습니다. 감사합니다.
App - 동적인 웹페이지 만들기
정보를 다이나믹하게 프로그래밍적으로 생성해보자.
쿼리부분의 id값을 title변수로 지정한 후 사용자가 요청하는 id의 값을 제목(h2와 title태그)에 동적으로 출력되도록 하기위한 코드를 위와같이 짤 수 있다. 이전에 배운 템플릿 리터럴($)을 사용할 수 있다.
제목부를 동적으로 바꾸는 것을 성공했다. 하지만 본문은 정적인 상태이다. 따라서 본문만 따로 저장하고 요청시 요청된 본문만 대체할 수 있다면 똑같이 동적으로 바꿀 수 있다.
Node.js - 파일 읽기
nodejs에서 파일을 다루는 방법
핵심 매커니즘 CRUD
Create, Read, Update, Delete 처리가 정보를 다루는 핵심적인 처리 방법이다. 가장 중요한 것은 C다. C가없으면 RUD가 없다. R도 C에 필적할 만큼 중요하다. 생성과 읽기는 어떻게 할 것인가를 파악해보자.
수정/삭제까지 알게되면 75%를 알게되는 것과 다름없는 것이다.
파일을 어떻게 하면 nodejs로 읽을 수 있는가? (생성,수정,삭제는 차차 배워보자) (구글링 : nodejs file read) (https://nodejs.org/dist/latest-v10.x/docs/api/fs.html)
모듈이 무엇?(기본적으로 제공하는 기능들을 그룹핑 해놓은 각각의 그룹들)
fs(filr system)
2개의 파일을 생성해보자.
fs라는 변수를 통해 모듈을 다룰 수 있게된다.
위 코드 사용시 cmd의 현재 디렉토리에서 파일을 찾게된다. 위와 같이 파일을 읽을 수 있다.
App - 파일을 이용해 본문 구현
우리는 본문만 동적으로 바꿔주기를 원하기 때문에 해당 본문만을 가진 파일을 data디렉터리를 생성하여 각각 파일이름을 ID명으로 하여 생성해주자.
즉 위와 같이 본문만을 가지고 있는 파일을 생성해주자.
이후 fs로 파일을 읽는데 ${queryData.id}로 즉 쿼리데이터의 id값을 파일명으로 가진 파일을 data디렉터리에서 열어준 이후 해당 데이터를 본문 부분(${description})에 붙여주면 된다.
위와 같이 nodejs코드를 짠다면 동적으로 사용자가 원하는 페이지를 실시간으로 만들어서 응답해 줄 수 있게된다!!
JavaScript - Boolean
Boolean변수와 비교연산자, 조건문
JavaScript - 비교 연산자
JavaScript - 제어문
오페라 같은 곳에서도 시간 순으로 실행되는 것을 프로그램이라고 불렀다. 그 것을 만드는 사람을 프로그래머라고한다. 우리도 시간의 순서대로 따라 실행되도록 설계해야 되기 때문에 프로그래머라고 할 수 있다.
각 프로그램이 다른곳은 한 부분이고 나머지 1억개이상의 부분이 동일할 때
제어문을 통해서 달리 명령을 수행할 수 있다.
JavaScript - 조건문 (Conditional statement)
Node.js - 콘솔에서의 입력값
우리가 만든 프로그램은 위와 같이 나타낼 수 있다. input과 output.
파라미터 : 입력되는 정보의 형식
아규먼트 : 그 형식에 맞게 실제로 입력한 값.
콘솔에서 명령을 실행할 때 입력값을 줘보자. (구글링 nodejs console input parameters)
3번째 값부터 입력값을 받도록 약속되어 있기 때문에 args의 2번인덱스를 사용한다.
'Web > Node.js' 카테고리의 다른 글
[Node.js] 6일차 : pm2 패키지매니저 (0) | 2019.01.17 |
---|---|
[Node.js] 5일차 : sync(동기 비동기), 콜백함수 (0) | 2019.01.11 |
[Node.js] 4일차 : Not found 오류 구현, 동적 페이지 목록 불러오기 (0) | 2019.01.10 |
[Node.js] 2일차 190108 : Nodejs설치, URL parse, template literals (0) | 2019.01.08 |
[Node.js] 1일차 190107 : 기본개념 및 학습목적 (0) | 2019.01.07 |