1. 노드 설치
https://nodejs.org/ko/download/
2. Express-generate 를 이용하여 프로젝트 구성하기
$ npm install express-generator -g
3. express {APP_NAME} 명령어를 이용하여 프로젝트 생성
$ express www
4. 서버를 재시작 하지 않아도 실시간 코드가 반영되는 NodeMon을 설치
1) $ npm install nodemon --save-dev
2) package.json 다음을 추가
"scripts": {
"start": "node ./bin/www",
"dev": "nodemon ./bin/www"
},
3) 구동
$npm run dev
5. HTML 템플릿 엔진 EJS 설치
$ npm install ejs --save
app.js 상단에 다음을 추가
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');
사용법 참조 : https://araikuma.tistory.com/454
6. mariadb docker 설치
1)Windows 10에 MariaDB 설치하기
https://offbyone.tistory.com/199
2) docker 설치 방법
[Windows 10] Docker 설치 완벽 가이드(Home 포함)
#cmd 에서 mariadb docker 받기
#docker pull mariadb
#docker image ls
#mariadb 컨테이너 임의포트 3308포토를 통해 3306 도커 컨테이너에 접속 환경변수 root 접속 번호는 1111 mariadb 컨테이너
#docker run --name mariadb -d -p 3308:3306 -e MYSQL_ROOT_PASSWORD=1111 mariadb
#실행중인 것 확인
#docker ps
#접속 방법
#docker exec -it mariadb /bin/bash
#mysql -u root -p
#접속 후 환경보기
#status
#툴에서 접속 방법
#서버 호스트
#ipconfig 로 확인
#ex) 192.168.174.1
#Database 입력란은 공백
#root 입력
#포트 3308
#비번 1111
7. myql 설치
#npm i mysql
app.js 에 추가
var dbRouter = require('./routes/db');
app.use('/db', dbRouter);
db.js
var express = require('express'); var router = express.Router(); var mysql = require('mysql'); var pool = mysql.createPool({ connectionLimit: 10, host: '192.168.174.1', port: '3308', user: 'dev', password: '1111', database: 'dev' }); pool.query('SELECT 1 + 1 AS solution', function (error, results, fields) { if (error) throw error; console.log('The solution is: ', results[0].solution); }); router.get("/", function (req, res) { pool.getConnection(function (err, connection) { if (err) throw err; // not connected! // Use the connection connection.query('select * from t_product', function (error, results, fields) { // When done with the connection, release it. connection.release(); // Handle error after the release. if (error) throw error; // Don't use the connection here, it has been returned to the pool. console.log(results); res.render("db.html", { results: results }); //res.send(JSON.stringify(results)); }); }); }); module.exports = router;
views/db.html
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <h1>DB</h1> <% for (let index = 0; index < results.length; index++) { const element = results[index].product_name; %> <p><%= element %></p> <% } %> </body> </html>
댓글 ( 5)
댓글 남기기