본문 바로가기

WebApp/Node.js

(21)
Node.js- form UI 생성 목표 : 우리의 애플리케이션에 글쓰기 화면을 만들것(= nodejs애플리케이션에 form UI를 출력할 것) 1. create 리스트를 만들고 클릭했을때 /create로 향하는 링크만들기2./create 링크로 들어왔을때 기본적인 홈화면과 form UI를 만들기*form형식에서 placeholder를 주면 사라지는 글씨를 만들 수 있다. 다음시간엔 사용자가 전송한 데이터를 받는 nodejs쪽 페이지 즉 process_create 페이지를 만들면 된다.
Node.js- form 컨텐츠를 사용자가 웹을 통해서 생성,수정,삭제할 수있는 방법 사용자가 서버로부터 데이터를 전송하기위한 방식인 form 사용자로부터 정보를 input받는 법 ~~form.html~~ 각각의 값들이 즉 컨트롤들에 이름(name)을 주어야 의미가 있음 입력을 하면 입력된 데이터 들이 액션주소로 전송되면서 각각의 컨트롤의 이름에 대하여 쿼리스트링의 형태로 정보가 전달된다 다만 이건 좋은방법이아니다 서버로부터 사용자가 데이터를 가져올때 get할때는 get방식(method="get" or 생략)으로 쿼리스트링을 쓰고 서버에 데이터를 생성 삭제 수정등을 할때는 필요한 데이터를 url로 보내지 않고 눈에 보이지 않는 post방식으로 데이터를 전송한다
Node.js-npm(pm2) Package program npm pm2 패키지 프로그램 vscode (관리자권한으로 실행) Ctrl+` - cmd창 열기 pm2설치 : npm install pm2 -g 실행 : pm2 start mian.js 현재pm2에 의해서 실행되고 있는 프로그램 목록 : pm2 monit 위 목록에서 나가기 : q 현재pm2실행중인 프로세스를 보고싶을때 : pm2 list 프로세스를 끄고싶을때 : pm2 stop mian 변경사항자동적용 : pm2 start main.js --watch 코드 로그 확인 : pm2 log *8 .17 추가 pm2 kill : pm2관련 작동중인것을 모두 꺼버림 pm2 start main.js --watch --no-deamon (데몬은 백그라운드 상태에서 실행되는 것을 말함,즉 no deamon하면 pm2..
Node.js- 콜백 즉 이미 정의된 함수(setTimeout())과 같은 함수의 파라미터에는 함수가 인자로써 오게 되고(콜백함수) 그 콜백함수가 이미정의된 함수의 성격에 따라서 동기적이든 비동기적이든 실행되게 된다 즉 setTimeout(콜백함수, 약속된 또다른 파라미터); 까지만 코드를 작성하면 내부적인 작용으로 인해 콜백함수가 실행된다.
Node.js-리펙토링
Node.js-function화의 이해 첫번째 시도 var template=`~~`가 있던 43번째줄을 통으로 templateHTML()이라는 함수로 대체하려고 해봤다 문제 발생 16번째 줄의 변수 title이 정의되지 않았다는 에러 발생 문제 발생원인 title은 41번째 줄에 정의 되어 있으나 변수선언의 호이스팅 원리에 따라 var title 이 맨 위로 올라가고 변수 할당인 title = 'welcome'이 41번째 줄에 남게 된다 따라서 순차적으로 var title ${title} title = 'welcome' 순서가 되기 때문에 ${title}이 undefinded가 되는 것이다 문제 해결 teplateHTML()함수에 인자와 매개변수를 주자 43번째 줄에서 templateHTML(title, lits, data);와 같이 인자를 ..
Node.js - fs.readdir fs.readdir('./data', function(err, files){ }); 를 해석하면 현재 디렉토리 안에 있는 data폴더에 속한 파일들의 목록을(내용x)(cf// fs.readFile은 파일안의 내용을 불러옴) 배열의 형식으로 꺼내준다 *./data 에서 ./는 현재 디렉토리를 가르키며 node를 실행하는 디렉토리를 기준으로 디렉토리 위치를 정한다 따라서 위 예제의 cmd창에서 첫번째 경우 node를 실행하는 디렉토리가 nodejs폴더이기 때문에 그 디렉토리에 존재 하는 data폴더를 가져온다는의미로 ./를 쓴것이고두번째 경우 node를 실행하는 디렉토리가 node폴더이기 때문에 node폴더 안에는 data폴더가 없기때문에 ./로는 가져오지 못하는 것이다.
Node.js- WEB 본문 만들기