# Node.js-Express

# Node.js-Express

by jihoon kim

HTML

<h1>
Node.js-Express
</h1>
<pre>
# 참고 : https://velopert.com/379
# 디렉토리 구조
    express_tutorial/
    ├── data
    │   └── user.json
    ├── node_modules
    ├── package.json
    ├── public
    │   └── css
    │       └── style.css
    ├── router
    │   └── main.js
    ├── server.js
    └── views
        ├── body.ejs
        ├── header.ejs
        └── index.ejs

# 의존 모듈 추가
{
  "name": "express-tutorial",
  "version": "1.0.0",
  "dependencies": 
  {
    "express": "~4.13.1",
    "ejs": "~2.4.1"    
  }
}
 ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼ ▼
{
  "name": "express-tutorial",
  "version": "1.0.0",
  "dependencies":
  {
    "express": "~4.13.1",
    "ejs": "~2.4.1"    ,
    "body-parser": "~1.14.2",
    "express-session": "~1.13.0"
  }
}

# NPM package.json을 이용한 의존 패키지 설치
    $ npm install
 
# server.js
    var express = require('express');
    var app = express();
    var bodyParser = require('body-parser');
    var session = require('express-session');
    var fs = require("fs")

    app.set('views', __dirname + '/views');
    app.set('view engine', 'ejs');
    app.engine('html', require('ejs').renderFile);


    var server = app.listen(3000, function(){
     console.log("Express server has started on port 3000")
    });

    app.use(express.static('public'));

    app.use(bodyParser.json());
    app.use(bodyParser.urlencoded());
    app.use(session({
     secret: '@#@$MYSIGN#@$#$',
     resave: false,
     saveUninitialized: true
    }));


    var router = require('./router/main')(app, fs);

# 테스트 : http://localhost:3000/

# /router/main.js
    module.exports = function(app)
    {
         app.get('/',function(req,res){
            res.render('index.html')
         });
         app.get('/about',function(req,res){
            res.render('about.html');
        });
    }
# HTML  views/index.html & about.html 생성
<xmp>
    <html>
      <head>
        <title>Main</title>
        <link rel="stylesheet" type="text/css" href="css/style.css">
      </head>
      <body>
       ...