express框架基本介绍及使用

文章目录

          • 1. 简介
          • 2. 安装
          • 3. 搭建express服务
          • 4. 获取表单数据

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


方法一

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">
    
        <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)

你可能感兴趣的:(express)