开启一个本地服务器需要 Node.js 中http
核心模块
- http–模块提供了搭建本地服务器的 API,首先我们在项目中引入;
1
| let http = require('http')
|
引入之后我们利用 http.createServer()方法得到一个服务器实例。
1
| let server = http.createServer()
|
- 经过以上两步,我们已经搭建好了一个服务器实例,然后我们给服务器实例绑定接收
request
的事情处理函数,代码如下:
1 2 3 4
| server.on('request', (req, res) => { console.log(req.url) })
|
- 绑定监听端口号,开启服务器。代码如下:
1 2 3 4
| server.listen(3000, () => { console.log('服务器开启成功,可以通过访问http://127.0.0.1:3000/来获取数据~~') })
|
好了,经过这简单的操作是不是已经完成了一个服务器的简单搭建,接下来我们来实现一个需求:
我们实现这个需求,只需要在绑定服务器监听的事件处理函数中获取到用户的请求路径,然后根据不同路径返回不同数据即可,这个也不难。详情代码看下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| let http = require('http') let server = http.createServer() server.on('request', (req, res) => { let url = req.url if (url === '/') { res.end('index page') } else if (url === '/login') { res.end('login page') } else if (url === '/register') { res.end('register page') } else if (url === '/product') { let arr = [ { name: 'iphone X', price: 8888, }, { name: 'iphone 7', price: 4320, }, ] res.end(JSON.stringify(arr)) } else { res.end('404 NOT found') } }) server.listen(3000, () => { console.log('服务器启动成功了,,可以访问http://127.0.0.1:3000/啦') })
|
设置状态码和响应头
1
| response.writeHead(200, { 'Content-Type': 'text/plain' })
|
设置响应头
1
| response.setHeader('Content-Type', 'text/html')
|
写入内容
1
| response.write(fileData)
|
结束响应