node.js初使用之使用express外掛快速搭建登入註冊
阿新 • • 發佈:2018-12-01
首先,介紹些express,express是基於node.js平臺快速,開放,極簡的web開發框架,express 便於我們快速的開發node api介面
得保證安裝了node.js
下載好以後,新建server.js檔案
//引入模組 const express = require('express'); //獲取express物件 const url = require('url'); const fs = require('fs'); const path = require('path'); var bodyParser = require('body-parser') const app = express(); app.use(bodyParser.urlencoded({extended:false})) //解析post資料,僅限於 x-www-form-urlencode app.use(bodyParser.json()) // 解析post 資料的json格式 // app.use(cors()); //get方法,第一個引數為url中的path,req請求物件,res響應物件 /* app.get('/', (req, res) => { res.send('你好') }) app.get('/login', (req, res) => { res.send('歡迎登陸') }) */ // 註冊 // 獲取引數 // 儲存資料 app.get('/home/reg', (req, res) => { console.log(req.query);//{ us: 'wangyi', ps: '123' } console.log(req.url);///home/reg?us=wangyi&ps=123 // 解析url,獲取,請求search的api let search=url.parse(req.url).search; fs.appendFile(path.join(__dirname,'./user.txt'),search,(err)=>{ //下面不加return的會報錯,res.send只能傳送一次,也可以使用else。不讓他重複傳送就行了 if(err){return res.send('註冊失敗')} res.send('註冊成功') }) /* console.log(search);//?us=wangyi&ps=123 res.send('歡迎註冊') */ }) /* 登陸邏輯 獲取使用者內容 讀取檔案內容 對比 */ app.post('/home/login',(req,res)=>{ // console.log('哈哈哈哈') //let query=url.parse(req.url).query; // 判斷使用者內容 fs.readFile(path.join(__dirname,'./user.txt'),'utf8',(err,data)=>{ if(err){return res.send({err:-1,msg:'登陸失敗'})} //split表示以?號切割 let array=data.split('?') // 判斷使用者內容是否存在 console.log(array,query) if(array.indexOf(query)===-1){ res.send({err:-2,msg:'使用者名稱或者密碼錯誤'}) console.log(array.indexOf(query),query) }else{ res.send({err:0,msg:'登陸成功'}) } }); }) /* api 介面返回資料的標準格式 { err:-1,//狀態值 判斷介面的狀態 msg:"資訊", data:'資料' } post方法資料在訊息體裡 body req.body get方法 資料在url req.query */ // post 資料介面 app.post('/home/test',(req,res)=>{ console.log(req.body) res.send('ok') }) app.listen(3000, () => { console.log("server start in port"+3000); }) //以上監聽一個埠 開啟一個伺服器 主機是localhost 埠3000 後面跟path