請求與上傳文件,Session簡介,Restful API,Nodemon

  • 2019 年 12 月 20 日
  • 筆記

作者 | Jeskson

來源 | 達達前端小酒館

請求與上傳文件

GET請求和POST請求

const express = require('express');    const app = express();    app.set('view', 'pug');    app.get('/', function(req,res){   // 輸出響應消息   req.send('hello')  });    app.get('/users/:gender', function(req,res){   // 獲取路由參數   let gender = req.params.gender;   // 獲取url參數   let name = req.query.name;   // 輸出響應   res.send('gender='+gender+',name='+name);  });  // 啟動HTTP服務器  app.listen(8080, function(){   console.log('express')  });

POST請求藉助body-parser模板引擎以及req.body()函數得到參數。

const express = require('express');    const bodyParser = require('body-parser');    // 創建express程序  const app = express();    // 配置視圖模板  app.set('view engine', 'pug');    // 配置post  app.use(bodyParser.urlencoded({   extended: true  });    app.get('/create', function(req, res){   res.render('create.pug');  });    app.post('/create', function(req,res){  // 獲取用戶輸出表單消息  let name =  req.body.name  let pswd = req.body.password;  res.send('name='+name+",pswd="+pswd);  });  app.listen(8080, function(){   console.log('express');  });

上傳文件

用multer中間件進行上傳文件:

const express = require('express');    const bodyParser = require('body-parser');    const multer = require('multer');    const app = express();    app.set('view', 'pug');    app.use(bodyParser.urlencoded({   extended:true  }));    const upload = multer({   dest: 'uploads/'  });    app.get('/create', function(req, res){   res.render('create.pug');  });    app.post('/create', function(req,res){  // 獲取用戶輸出表單信息  let name = req.body.name;  let pswd = req.body.password;  res.send('name =' + name + ",pswd="+pswd);  });    app.get('/upload', function(req, res){   res.render('upload.pug');  });    app.post('/upload', upload.single('photo'), function(req,res){  // 獲取上傳文件信息  let file = req.file;  res.send(file);  });  // 啟動http服務器  app.listen(8080,function(){   console.log();  });
node server.js

session簡介

服務器會為瀏覽器創建一個會話對象,一個瀏覽器只能有一個session。session是這樣的,需要保持用戶數據時,服務器程序可以把用戶數據存儲到瀏覽器的session中,當用戶使用瀏覽器訪問其他程序,可以從session中取出數據。

session的使用:

npm install express-session    var session = require("express-session");    app.use(session({  secret: 'keyboard cat',  resave: true,  saveUninitialized: true  }))

cookie和session的區別:

cookie是將用戶的數據寫給用戶的瀏覽器,在瀏覽器端保持狀態數據,當訪問服務器時,傳輸數據量大,而負擔大,用戶可能修改cookie信息,導致服務器不安全。

session是把用戶的數據寫到用戶的session,不同的用戶用不同的session_id識別,將session_id保持在客戶端cookide或是在本地。當發送請求時,附帶將session_id的cookie信息,用來區分哪個用戶的數據。

restful api的簡介

REST基本架構:

restfull api,創建一個json數據資源文件。

var express = require('express');  var app = express();  var fs = require("fs");    app.get('/listUsers", function(req,res){  fs.readFile(dirname + '/' + "users.json", "utf8" ,function(err,data){   console.log(data);   res.end(data);   });  })    var server = app.listen(8081,function(){  var host = server.address().address  var port = server.address().port    console.log();  })
node server.js

Nodemon

nodemon來監視node.js應用程序的更改和自動重啟服務。

npm install -g nodemon

npm install –save-dev nodemon

nodemon常用命令:

nodemon -h 或 nodemon –help 使用幫助

nodemon –watch path

監視當前的工作路徑

nodemon –ignore

忽視一些文件被監視

rs

手動啟動系統

作者Info:

【作者】:Jeskson 【原創公眾號】:達達前端小酒館。 【轉載說明】:轉載請說明出處,謝謝合作!~

大前端開發,定位前端開發技術棧博客,PHP後台知識點,web全棧技術領域,數據結構與算法、網絡原理等通俗易懂的呈現給小夥伴。謝謝支持,承蒙厚愛!!!