1. 程式人生 > >nodejs 搭建簡易服務器

nodejs 搭建簡易服務器

-1 max multer next() rom cookie () active .get

技術分享

www文件夾下

技術分享

template文件夾下

技術分享

server.js代碼:

const express=require(‘express‘);
const static=require(‘express-static‘); //托管靜態文件
const cookieParser=require(‘cookie-parser‘);  //解析cookie
const cookieSession=require(‘cookie-session‘);  //解析session
const bodyParser=require(‘body-parser‘);    //解析post數據
const multer=require(‘multer‘);
const consolidate
=require(‘consolidate‘); const mysql=require(‘mysql‘); //連接池 const db=mysql.createPool({host: ‘localhost‘, user: ‘root‘, password: ‘123456‘, database: ‘blog‘}); var server=express(); server.listen(8080); //1.解析cookie server.use(cookieParser(‘sdfasl43kjoifguokn4lkhoifo4k3‘)); //2.使用session var arr=[]; for
(var i=0;i<100000;i++){ arr.push(‘keys_‘+Math.random()); } server.use(cookieSession({name: ‘zns_sess_id‘, keys: arr, maxAge: 20*3600*1000})); //3.post數據 server.use(bodyParser.urlencoded({extended: false})); server.use(multer({dest: ‘./www/upload‘}).any()); //4.配置模板引擎 //輸出什麽東西 server.set(‘view engine‘, ‘html‘); //模板文件放在哪兒
server.set(‘views‘, ‘./template‘); //哪種模板引擎 server.engine(‘html‘, consolidate.ejs); //接收用戶請求 server.get(‘/‘, (req, res, next)=>{ //查詢banner的東西 db.query("SELECT * FROM banner_table", (err, data)=>{ if(err){ res.status(500).send(‘database error‘).end(); }else{ res.banners=data; next(); } }); }); server.get(‘/‘, (req, res, next)=>{ //查詢文章列表 db.query(‘SELECT ID,title,summery FROM article_table‘, (err, data)=>{ if(err){ res.status(500).send(‘database error‘).end(); }else{ res.articles=data; next(); } }); }); server.get(‘/‘, (req, res)=>{ res.render(‘index.ejs‘, {banners: res.banners, articles: res.articles}); }); server.get(‘/article‘, (req, res)=>{ res.render(‘conText.ejs‘, {}); }); //4.static數據 server.use(static(‘./www‘));

index.ejs代碼:

<div class="content">
    <div class="banner">
      <ul class="clearfix">
        <% for(var i=0;i<banners.length;i++){ %>
        <li>
          <img src="<%= banners[i].src %>" alt=""/>
          <div class="text-box">
            <h2><%= banners[i].title %></h2>
            <p><%= banners[i].sub_title %></p>
          </div>
        </li>
        <% } %>
      </ul>
      <ol>
          <li class="active"></li>
          <li></li>
          <li></li>
      </ol>
    </div>
    <div class="newsList">
      <ul>
        <% for(var i=0;i<articles.length;i++){ %>
        <li>
          <a href="/article?id=<%= articles[i].ID %>">
            <h2><%= articles[i].title %></h2>
            <p><%= articles[i].summery %></p>
          </a>
        </li>
        <% } %>
      </ul>
    </div>
</div>

nodejs 搭建簡易服務器