웹애플리케이션 제작
topic/new로 접속시 폼 출력함
첫 라우팅 하기 소스
app_file.js
var express = require('express');//익스프레스를 가져옴
var app = express();
var url
app.locals.pretty = true;//템플릿 줄바꿈
app.set('views', './views_file');//템플릿 폴더 위치 표시
app.set('view engine', 'jade');//템플릿 엔진을 jade로 명시함
//글작성하기 폼
app.get('/topic/new', function(req, res){
res.render('new');
});
//폼에서 작성한 것을 여기서 받음
app.post('/topic', function(req, res){
res.send('HT POST');
});
app.listen(3000, function(){
console.log('Connected, 3000 port!');
})
view_file/new.jade
doctype html
html
head
meta(charset='utf-8')
body
form(action='/topic' method='post')
p
input(type='text' name='title' placeholder='title')
p
textarea(name='description')
p
input(type='submit')
출력화면
다음과 같이 폼을 만들 수 있다.
폼에서 입력한 값을 가지고 파일을 만들고 데이터 작성해보자
app_file.js
var express = require('express');//익스프레스를 가져옴
var bodyParser = require('body-parser')
var fs = require('fs');
var app = express();
app.use(bodyParser.urlencoded({ extended: false }));//body parser를 사용함
app.locals.pretty = true;//템플릿 줄바꿈
app.set('views', './views_file');//템플릿 폴더 위치 표시
app.set('view engine', 'jade');//템플릿 엔진을 jade로 명시함
//글작성하기 폼
app.get('/topic/new', function(req, res){
res.render('new');
});
//폼에서 작성한 것을 여기서 받음
app.post('/topic', function(req, res){
var title = req.body.title;//제목과 본문의 내용을 가져옴
var description = req.body.description;
fs.writeFile('data/' + title, description, function(err){
if(err){//에러가 있다면 여기서 처리
res.status(500).send('Internal Server Error');
}
res.send('Success!');
});//title을 파일의 이름으로 해서 파일 생성
});
app.listen(3000, function(){
console.log('Connected, 3000 port!');
})
출력화면
다음과 같이 뜨고
파일이 생성됨
출처 : https://opentutorials.org/course/2136
'프로그래밍 > Node.js' 카테고리의 다른 글
Node.js 생활코딩 정리 - 파일업로드 준비 (2) | 2016.11.27 |
---|---|
Node.js 생활코딩 정리 - 웹앱 제작 코드 개선하기 (0) | 2016.11.27 |
Node.js 생활코딩 정리 – 웹앱 제작 파일로 된 본문 읽기 (0) | 2016.11.27 |
Node.js 생활코딩 정리 – 웹 앱제작 글목록 만들기 (0) | 2016.11.27 |
Node.js 생활코딩 정리 – Node Supervisor로 쉽게 자동으로 재시작하기 (0) | 2016.11.24 |
Node.js 생활코딩 정리 - POST방식을 이용한 정보의 전달 (0) | 2016.11.22 |
Node.js 생활코딩 정리 – Semantic URL을 이용한 정보 전송 (0) | 2016.11.21 |
Node.js 생활코딩 정리 - Express프레임워크 템플릿 엔진(Jade 또는 pug) 사용 방법 (0) | 2016.11.21 |