请求与上传文件,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全栈技术领域,数据结构与算法、网络原理等通俗易懂的呈现给小伙伴。谢谢支持,承蒙厚爱!!!