0
点赞
收藏
分享

微信扫一扫

http模块学习

简单得一些搭建

创建简单的http服务器

node服务器就是通过node.js api创建的一个向外提供各种服务的程序

const http = require('http')

const server = http.createServer()
console.log(server)
// 进行监听
server.on('request',(request,response)=>{
// request:包含客户端(PC浏览器端、移动h5端、移动端、桌面端、电视端)请求服务端的信息
// response:服务端响应客户端的信息
res.end('hello')
})
// 1000~9999就可以,端口有可能会占用
server.listen(3000,(err)=>{
if(err)
return console.log('node.js服务器启动失败')
console.log('服务器启动成功,点击访问:http://localhost:3000')
})

服务器根据不同参数选择不同的页面

const http = require('http')
const url = require('url')
const fs = require('fs')
const input = require('readFile')

const server = http.createServer()
console.log(server)
// 进行监听
//后端返回给前端都是字符串
server.on('request',(request,response)=>{
res.setHeader('Acess-Control-Allow-Origin','*')
// 解决读取 txt 文件内容乱码问题
res.write('200',{
'Content-Type':'text/html;charset=utf8'
// 也可以自定义响应头
})
const params = req.url
const pathname = url.parse(params,true)
console.log(pathname)
if(params !== '/favicom.ico'){
switch(pathname){
case '/index':
input.readFile('文件名',fs,res)
break
case '/list':
break
case '/banner':
res.end(JSON.stringify({
// 自定义状态码
code:200,
data:['','','']
}))
break
default:
}
}
})
// 1000~9999就可以,端口有可能会占用
server.listen(3000,(err)=>{
if(err)
return console.log('node.js服务器启动失败')
console.log('服务器启动成功,点击访问:http://localhost:3000')
})

上面代码中所引入的 readFile 模块代码:

// readFile.js
module.exports = {
readFile(path,fs,result){
fs.readFile(path,(err,data)=>{
if(err)
res.end(path + '页面不存在')
res.end(result.toString())
})
}
}

利用 express  和 koa 框架搭建服务器

express框架

//下载
// npm i express
// yarn add express

//引入express框架,在框架肯定有很多基于express框架的周边生态库(插件模块)
const express = require('express')

// 实例化,创建一个可以向外提供服务的实例对象
const app = express()
const port = 3000
// 注册路由
app.get('/', (req, res) => {
// 解决跨域问题
res.header('Acess-Control-Allow-Origin','*')
// 返回对应的页面或状态
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})

koa框架

// 下载
// npm i koa
// yarn add koa

// 引入 koa
const Koa = require('koa')

// 实例化,创建向外提供服务的程序
const app = new Koa()
// response
app.use(async ctx => {
// 解决跨域问题
ctx.set('Acess-Control-Allow-Origin','*')
// ctx 相当于 express 中的 req 和 res 的结合体
// 区分:从官网中的文档中学习、使用
ctx.body = 'Hello World'
});
app.listen(3000);

通过 ajax 发出异步请求,浏览器会验证不同源跨域问题。跨域问题是需要交给后端去解决的,前端解决跨域问题仅仅是为了方便测试。

附录

express 网址:​​http://expressjs.com/zh-cn/​​

koa 网址:​​https://koa.bootcss.com/​​

举报

相关推荐

0 条评论