美文网首页
node笔记-4.node服务端渲染简单的留言板功能

node笔记-4.node服务端渲染简单的留言板功能

作者: 柠檬树QAQ | 来源:发表于2019-12-25 22:09 被阅读0次

    node服务端渲染简单的留言板功能

    源码 github

    目录结构

    ├─assets
    ├─node_modules
    │  ├─ejs
    │  │  └─lib
    │  └─moment
    │      ├─locale
    │      ├─min
    │      └─src
    │          ├─lib
    │          │  ├─create
    │          │  ├─duration
    │          │  ├─format
    │          │  ├─locale
    │          │  ├─moment
    │          │  ├─parse
    │          │  ├─units
    │          │  └─utils
    │          └─locale
    └─view
        |-404.html
        |-index.html
        |-login.html
        |-release.html
    

    主要nodeJS代码

    • ejs 模板完成动态的html渲染
    • moment包处理时间格式化
    • url包 处理get过来的请求参数并格式化
    const http = require('http')
    const ejs = require('ejs')
    const url = require('url')
    const moment = require('moment') //处理时间格式化
    moment.locale('zh-cn');
    const DirPath = './view' // 建议换成绝对路径 
    // 创建服务器
    const service = http.createServer()
    let indexData = [
        {name:'张三',message:'粘弹说带上飞机的萨芬计划',dateTime:'2019-10-11'},
        {name:'李四',message:'就是觉得发喀什酱豆腐立刻洒家发生',dateTime:'2019-10-12'},
        {name:'王二麻子',message:'健身房的空间赛季分解机而非',dateTime:'2019-10-13'},
        {name:'小淘气',message:'核武i肉片附件是JFK了撒法',dateTime:'2019-10-14'},
        {name:'栓蛋',message:'对方门将批评家恩恩分为哦附件',dateTime:'2019-10-15'},
    ]
    // 监听客户端请求
    service.on('request',(req,res)=>{
      const parseUrl = url.parse(req.url,true)
      const uri = parseUrl.pathname
      const queryGet = parseUrl.query
      if( uri == '/' ){
        ejs.renderFile(DirPath+'/index.html',{indexData},(_,data)=>{
            res.end(data)
        })
      }else if(uri == '/release'){
        ejs.renderFile(DirPath+'/release.html',(_,data)=>{
            res.end(data)
        })
      }else if(uri == '/relaseGet'){
        console.log(queryGet)
        let item = {name:queryGet.name,message:queryGet.message,dateTime:moment(new Date()).format('YYYY-MM-DD')}
        indexData.push(item)
        // 页面重定向 到 首页
        res.statusCode = 302
        res.setHeader('Location','/')
        res.end()
      }else{
        ejs.renderFile(DirPath+'/404.html',(_,data)=>{
            res.end(data)
        })
      }
    })
    service.listen(3000,()=>{console.log('server is runing.')})
    

    相关文章

      网友评论

          本文标题:node笔记-4.node服务端渲染简单的留言板功能

          本文链接:https://www.haomeiwen.com/subject/vmuhoctx.html