프로그래밍/Node.js

Node.js 생활코딩 정리 – 웹애플리케이션 제작 첫번째 라우팅 및 파일 생성

가카리 2016. 11. 24. 21:55
반응형

웹애플리케이션 제작

 

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

반응형