Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 연동
- includes
- node.js
- programmers
- azure
- v-on
- vuex
- v-if
- JavaScript
- sns로그인
- Express.js
- v-for
- javscript
- Vue.js
- react
- IntelliJ
- kibana
- mixins
- getters
- KAKAO
- 음양더하기
- Emit
- Login
- 콘솔한글깨짐
- axios
- Reduce
- javascipt
- mutations
- state
- 템플릿문법
Archives
- Today
- Total
공부용
Node.js & MySql (2021.05.03 수정중) 본문
계층구조
main
ㄴ--- server
ㄴ--- config
ㄴ--- dbconfig.js
ㄴ--- module
ㄴ--- member.js
ㄴ--- logger.js
ㄴ--- mysql.js
ㄴ--- server.js
#server.js
//server.js
const express = require('express');
const app = express();
const member = require('./module/member');
const bodyParser = require('body-parser');
const port = 3000;
app.use(bodyParser.urlencoded({ extended: false }))
app.get('/', (req, res) => {
res.send('hello world');
});
//멤버 모듈
app.use('/member', member);
app.listen(port, () => {
console.log(`example app listening at http://localhost:${port}`);
});
#member.js (2021.05.03 수정중)
//member.js
const express = require("express");
const getConnection = require("../mysql");
const router = express.Router();
router.get("/getMember", (req, res) => {
const sql = 'select * from tblMember';
const values = {
};
getConnection((conn) => {
conn.query(sql, values, (err, rows) => {
if(err){
console.log(err);
}
console.log(rows);
});
conn.release();
});
});
router.get("/addMember", (req, res) => {
const id = "test4";
const pw = "test5";
// const id = req.body.id;
// const pw = req.body.pw;
const sql = 'insert into tblMember values (3, ?, ?)';
const values = [id, pw];
console.log(id);
getConnection((conn) => {
conn.query(sql, values, (err, rows) => {
if(err) {
console.log(err);
}
console.log(rows);
});
})
})
module.exports = router;
#mysql.js
//mysql.js
const mysql = require('mysql');
const db_config = require("./config/dbconfig");
const logger = require('./logger');
const pool = mysql.createPool(db_config);
function getConnection(callback) {
pool.getConnection(function (err, conn) {
if(!err) {
callback(conn);
} else {
console.log(err);
}
});
}
module.exports = getConnection;
#logger.js
//logger.js
//const appRoot = require('app-root-path');
const winston = require('winston');
//const process = require('process');
const { combine, timestamp, label, printf } = winston.format;
const myFormat = printf(({ level, message, label, timestamp }) => {
return `${timestamp} [${label}] ${level}: ${message}`;
});
const options = {
console: {
level: 'debug',
handleExceptions: true,
json: false,
colorize: true,
format: combine(
label({ label: 'express_server' }),
timestamp(),
myFormat
)
}
}
let logger = new winston.createLogger({
transports: [
new winston.transports.Console(options.console)
],
exitOnError: false, // do not exit on handled exceptions
});
logger.stream = {
write: function(message, encoding) {
logger.info(message);
},
};
module.exports = logger;
#dbconfig.js
//dbconfig.js
const db_config = {
host : "host",
user : "user@server",
password : "password",
port: "port",
database : "database",
ssl: true
}
module.exports = db_config;