반응형
HTTP module
var http = require('http');
//http module 불러오기
var url = require('url');
// url module 불러오기
http.createServer(function(request,response){
// http module 을 이용하여 서버 생성
var pathname = url.parse(request.url).pathname;
//url 뒤에 있는 디렉토리 / 파일 이름 파싱
if(pathname=="/"{// pathname 이 비어있다면 index를 디폴트로
pathname="/index.html";
}
}
콜백함수를 사용해 response 이벤트가 감지되면 데이터를 데이터에 받아온다.
var callback = function(response){
var body='';
response.on('data',function(data){
body += data;
};
}
Mysql module
NodeJS 에서 DB 연동을 해보려고 한다.
const express = require('express')
const app = express();
express 를 불러와 app 에 할당한다.
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit : 10,
host :"localhost",
user : "root",
password : "0000",
database : "moviestar"
})
require(’mysql’) 은 mysql 모듈을 사용하겠다라는 뜻.
mysql 을 실행하기 위한 pool 을 생성한다.
app.get('/db',function(req,res){
pool.getConnection(function(err, connection){
if(err) throw err;
connection.query('select * from user', function(error,results, fields){
res.send(JSON.stringify(results));
console.log('results', results);
connection.release();
if(error) throw error;
})
})
})
생성된 pool 을 mysql 과 연결한다.
query 함수를 이용하여 mysql 에 명령을 전달한다.
sql에서 데이터 request 가 온다면 아래와 같이 불러올 수 있다.
request.on('end', function(){
var post = qs.parse(body);
var title = post.title;
var description = post.description;
db.query(`insert into topic (title, description, created, author_id)
values (?, ?, NOW(), ?)`,
[post.title, post.description, 1],
function(error, result){
if(error){
throw error;
}
response.writeHead(302, {Location: `/?id=${result.insertId}`});
response.end();
});
});
반응형
'Web > NodeJS' 카테고리의 다른 글
[NodeJS] Chatting Service -1- (0) | 2022.02.06 |
---|