class
  • Node.js安裝與NPM使用
  • require 、 module.exports
  • fs(文件操作)
  • EventEmitter(事件觸發)
  • util(工具類)
  • stream(流)
  • Assert(斷言)
  • Process(進程)
  • Repl(自訂命令列)
  • Path與URL
  • TCP, UDP
  • HTTP, HTTPS
  • ES6,ES7,ES8
  • Express框架
  • Koa框架
  • MySQL
  • MongoDB
  • RESTful API 與 API 文件撰寫
  • 使用Babel, ESLint
  • Webpack
  • WebSocket
  • Redis
  • React 基本概念1
  • React 基本概念1-1(搭配webpack)
  • React基本概念1-2(新增元件)
  • React 基本概念2
  • react-router
  • Redux 基本概念1
  • Redux 基本概念2
  • 結合Node.js與React.js搭建論壇網站1
  • 結合Node.js與React.js搭建論壇網站2
  • 結合Node.js與React.js搭建論壇網站3
  • 結合Node.js與React.js搭建論壇網站4
  • 結合Node.js與React.js搭建論壇網站5
  • 部署
  • 快取與緩存
  • Web安全機制
  • 單元測試
  • 自動化流程與搭建travis ci
  • 結合jenkins與bitBucket
  • 團隊合作Git flow與Telegram bot
Powered by GitBook
On this page
  • 文章留言
  • API 加上 token認證
  • 聊天室
  • Redis

Was this helpful?

結合Node.js與React.js搭建論壇網站4

稍後記得把範例的mLab URL與帳號密碼改為你自己的

一樣先下載此單元的課程壓縮檔,然後解壓縮,之後使用terminal進入後輸入npm install

文章留言

LeaveMsgModal.js

API 加上 token認證

使用JWT token

const authToken = (req,res,next) => {
    const token = req.cookies.t;
    if (token) {
        jwt.verify(req.cookies.t, jwtSecret, (err, decoded) => {
            if(decoded){
                next();
            } else {
                res.end('token not correct');
            }
      });
    } else {
        res.end('no Token');
    }
}

api.js:211

app.put('/leavemsg',authToken,(req,res) => {
    Post.findOne({ _id: req.body.id })
    .then(data => {
        let newComments = data.comments;
        newComments.push({
            title : req.body.title,
            content : req.body.content,
            authorAccount : req.body.authorAccount,
            userAvatar: req.body.userAvatar,
            date: Date.now() + 1000 * 60 * 60 * 8
        })
    Post.update({ _id: req.body.id },{ $set : {
        comments: newComments,
        lastModify : Date.now() + 1000 * 60 * 60 * 8
        }})
        .then(data => {
             res.end(JSON.stringify(data))
        })
    })
})

聊天室

Chatroom.js

Redis

1.一個使用者登入後,其他登入此帳號的裝置會被登出 login.js:59

2.記錄連線人數(顯示在terminal)

Previous結合Node.js與React.js搭建論壇網站3Next結合Node.js與React.js搭建論壇網站5

Last updated 5 years ago

Was this helpful?