前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >请求与上传文件,Session简介,Restful API,Nodemon

请求与上传文件,Session简介,Restful API,Nodemon

作者头像
达达前端
发布2019-12-20 11:26:35
1.6K0
发布2019-12-20 11:26:35
举报
文章被收录于专栏:达达前端达达前端

作者 | Jeskson

来源 | 达达前端小酒馆

请求与上传文件

GET请求和POST请求

代码语言:javascript
复制
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()函数得到参数。

代码语言:javascript
复制
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中间件进行上传文件:

代码语言:javascript
复制
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();
});
代码语言:javascript
复制
node server.js

session简介

服务器会为浏览器创建一个会话对象,一个浏览器只能有一个session。session是这样的,需要保持用户数据时,服务器程序可以把用户数据存储到浏览器的session中,当用户使用浏览器访问其他程序,可以从session中取出数据。

session的使用:

代码语言:javascript
复制
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数据资源文件。

代码语言:javascript
复制
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();
})
代码语言:javascript
复制
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全栈技术领域,数据结构与算法、网络原理等通俗易懂的呈现给小伙伴。谢谢支持,承蒙厚爱!!!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 请求与上传文件
  • 上传文件
  • session简介
  • session的使用:
  • cookie和session的区别:
  • restful api的简介
  • Nodemon
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档