nodejs之express学习(1)

安装

npm i express

使用

// 导入
const express = require('express')
// 创建应用
const app = express()
// 创建路由
app.get('/home',(req,res)=>{
	res.end("hello express")
})
app.listen(3000,()=>{
	console.log("服务已启动~")
})

路由的介绍

什么是路由

官方定义:路由确定了应用程序如何响应客户端对特定端点的请求

路由的使用

一个路由的组成有 请求方法 , 路径 和 回调数 组成
express 中提供了一系列方法,可以很方便的使用路由,使用格式如下

app.<method>(path,callback)

nodejs之express学习(1)_第1张图片

获取请求参数

express框架封装了一些API来方便获取请求报文中的数据,并且兼容原生HTTP模块的获取方式

// 导入
const express = require('express')
// 创建应用
const app = express()
// 创建路由
app.get('/home',(req,res)=>{
	//原生操作
	console.log(req.method)   //get
	console.log(req.url)      
	console.log(req.httpVersion)
	console.log(req.headers)
	//express操作
	console.log(req.path)   // /home
	console.log(req.query)  // {a:'100',b:'200'}
	console.log(req.ip)     // 127.0.0.1
	//获取请求头
	console.log(req.get('host'))
	res.end("hello express")
})
app.listen(3000,()=>{
	console.log("服务已启动~")
})

路由参数获取

const express = require('express')
const app = express()
app.get('/:id.html',(req,res)=>{
	// get params  of url
	console.log(req.params.id)
	res.setHeader('content-type','text/html;charset=utf-8')
	res.send('details of goods')
})
app.listen(3000,()=>{
	console.log('server start')
})

练习

const express = require('express')
const {singers} = require('./singer.json')
const app = express()
app.get('/singer/:id.html',(req,res)=>{
	let {id} = req.params
	let result = singers.find(item=>{
		if(item.id===Number(id)){
			return true
		}
	})
	if(!result){
		res.end('404 Not Found')
		return
	}
	res.end(`
		

${result.singer_name}

`
) }) app.listen(3000,()=>{ console.log('server start') })

你可能感兴趣的:(nodejs,express,学习,javascript)