node筆記-4.node服務(wù)端渲染簡單的留言板功能

node服務(wù)端渲染簡單的留言板功能

源碼 github

目錄結(jié)構(gòu)

├─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 模板完成動(dòng)態(tài)的html渲染
  • moment包處理時(shí)間格式化
  • url包 處理get過來的請求參數(shù)并格式化
const http = require('http')
const ejs = require('ejs')
const url = require('url')
const moment = require('moment') //處理時(shí)間格式化
moment.locale('zh-cn');
const DirPath = './view' // 建議換成絕對路徑 
// 創(chuàng)建服務(wù)器
const service = http.createServer()
let indexData = [
    {name:'張三',message:'粘彈說帶上飛機(jī)的薩芬計(jì)劃',dateTime:'2019-10-11'},
    {name:'李四',message:'就是覺得發(fā)喀什醬豆腐立刻灑家發(fā)生',dateTime:'2019-10-12'},
    {name:'王二麻子',message:'健身房的空間賽季分解機(jī)而非',dateTime:'2019-10-13'},
    {name:'小淘氣',message:'核武i肉片附件是JFK了撒法',dateTime:'2019-10-14'},
    {name:'栓蛋',message:'對方門將批評家恩恩分為哦附件',dateTime:'2019-10-15'},
]
// 監(jiān)聽客戶端請求
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.')})
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容