基于 Node.js 平台 Web 开发框架 express 学习

一。express 

1.准备工作  创建express文件夹 打开终端  安装node npm

2.开始  创建package.json *(npm install)

3.导入express包(npm install express)

4.创建main.js文件 根文件

5. main.js 引入  const express = require("express")

6.并创建web服务器  const app = express()

7.并使用服务器名.listen()方法启动服务器

app.listen(3000, () => { console.log("服务器启动于http://127.0.0.1:3000"); })

#main.js 代码示例

const express = require('express')
const app = express()
app.listen(3000, (err) => {
    if(!err) {
        console.log('服务器已启动 端口号3000:::')
        console.log('http://127.0.0.1:3000')
    }
})

#当前目录图 

 #试运行 main.js (node ./main.js)运行成功示意图

二。

1.创建api 提供ajax 请求地址 (res 是成功后的回调函数)

1.0 首先处理跨域问题  跨域(不同协议 不同域名 不同端口  )

    1.使用cors跨域处理 安装cors (npm install cors)

       并在main.js引入

const cors = require('cors');
app.use(cors());

    2. 全局 中间件  解决所有路由的 跨域问题 main.js

app.all('*',function (req,res,next) {
    res.header('Access-Control-Allow-Origin','*')
    res.header('Access-Control-Allow-Headers','X-Requested-With,Content-Type')
    res.header('Access-Control-Allow-Methods','GET,POST,OPTIONS')
    next()
})

1.1 get 请求 

main.js

app.get('/hello', (req, res) => { 
    //获取参数req.query
    res.send('hello world')
    //响应数据给客户端 
})

 ajax  (axios示例)

axios.get('http://127.0.0.1:3000/hello').then(res => {
     console.log(res)
})

1.2 post 请求

post接收参数需要使用解析中间件 body-parser  (npm install body-parser)

const bodyParser = require('body-parser')
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())

main.js

app.post('/login', (req, res) => {  // res 是成功后的回调函数
    // 获取参数 console.log(req.body)
    res.send('hello world')
    // res.send({
    //         Status:200,
    //         msg: 'success',
    //         data: {
    //             code: 200,
    //             data: {
    //             },
    //             message: 'success'
    //         },
    // })
})

 ajax  (axios示例)

axios.post('http://127.0.0.1:3000/login', {name: 'wk'}).then(res => {
    console.log(res)
})

接口获取request参数的三种方式

console.log(req.query)
    console.log(req.params)
    console.log(req.body)

 1.3获取请求头数据

main.js

app.post('/login', (req, res) => {
    console.log(req.headers)
    res.send('hello world')
})
//请求头数据req.headers

 ajax  (axios示例)

axios.post('http://127.0.0.1:3000/login', data, { headers: { timestamp:'timestamp', sign:'sign', token: ''}}).then(res => {
     console.log(res)
})

res.send() 设置返回数据 

 

// 添加模块api 用户
app.use('/user', require('./api/user'))

user.js

var express = require('express')
var router = express.Router()
const fs = require('fs')
const path = require('path')
router.post('/register', (req, res) => {})
module.exports = router

整体代码dome

额外功能:配置https

const express = require('express')
const app = express()
const https = require('https');
const fs = require('fs');
// node接入证书
const options = {
    cert: fs.readFileSync('./ssl/xyz.pem'),
    key: fs.readFileSync('./ssl/xyz.key')
}
let server = https.createServer(options, app)
server.listen(8443, (err) => {
    if(!err) {
        console.log('服务器已启动 端口号8443:::')
 
    }
})
app.all('*',function (req,res,next) {
    res.header('Access-Control-Allow-Origin','*')
    res.header('Access-Control-Allow-Headers','X-Requested-With,Content-Type')
    res.header('Access-Control-Allow-Methods','GET,POST,OPTIONS')
    next()
})
app.get('/hello', (req, res) => { 
    //获取参数req.query
    res.send('hello world')
    //响应数据给客户端 
})

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值