express框架基本介绍及使用

1. 简介

(1)express 是一个保持最小规模的灵活的node.js web应用程序开发框架,为web和移动应用程序提供一组强大的功能
(2)使用您所选择的各种 HTTP 实用工具和中间件,快速方便地创建强大的 API。
(3)Express 提供精简的基本 Web 应用程序功能,而不会隐藏您了解和青睐的 Node.js 功能。
(4)许多 流行的开发框架 都基于 Express 构建。

2. 安装

npm install express --save

3. 搭建express服务

启动之前执行npm init 生成package.json 文件

const express = require('express')

// 创建服务
let app = express()


// 自动为public下的文件设置路由
// 自动把public下的index.html 设置为首页
app.use(express.static('public'))

// 符合指定路由触发回调函数

/*
app.get  get请求时触发回调函数  
app.post  post请求时触发回调函数  
app.use   get post都触发回调函数
*/ 
app.get('/login', (req, res) => {
    res.send('express')
})


// 监听端口
app.listen(3000)
4. 获取表单数据
<form action="/login" method="GET">
     姓名: <input type="text" name='name'> <br> 
     籍贯: <input type="text" name='province'> <br>
     <input type="submit">
 </form>

(1)get

app.get('/login', (req, res) => {
	// get请求参数
    console.log(req.query)
    res.send('login')
})

(2) post

<!--post  请求 form 表单如果不写action, 则默认提交到当前地址 -->

方法一

const express = require('express')
// 接受post数据包
const formidable = require('formidable')

let app = express()

app.use(express.static('public'))

app.post('/login', (req, res) => {
    let form = new formidable.IncomingForm();
    // fields 文本类的post数据
    form.parse(req, (err, fileds) => {
        console.log(fileds)
    })

    res.send('')

})

app.listen(3000)

方法二

const bodyParser = require('body-parser')
const express = require('express')

let app = express()

app.use(express.static('public'))
    // 配置相关环境
app.use(bodyParser.urlencoded({
    extended: false
}))

app.post('/login', (req, res) => {
// post 数据
    console.log(req.body)

})

app.listen(4000)

(3) 文件上传

    <form action="/login" method="post" enctype="multipart/form-data">
    <!-- 添加name属性 -->
        <input type="file" name='shipin'>
        <input type="submit">
    </form>
const express = require('express')
const formidable = require('formidable')
const path = require('path');
const fs = require('fs');

let app = express()

app.use(express.static('public'))

app.post('/login', (req, res) => {
    let form = new formidable.IncomingForm();

    // 指定文件保存位置
    form.uploadDir = './upload'
        // fields 文本类的post数据
    form.parse(req, (err, fileds, files) => {
        // console.log(files)
        // 文件相关内容保存在files里
        let extname = path.extname(files.shipin.name);
        let oldName = files.shipin.path;

        fs.rename(oldName, oldName + extname, (err) => {
            console.log(err)
                // res.send('ok')
            return res.end('ok')

        })
    })

    res.send('')

})

app.listen(3000)
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值