有意思,实现文件访问了
引入需要的部分
1 2 3
| const http = require('http'); const fs = require('fs'); const path = require('path');
|
第一个http服务,第二个fs文件操作,第三个路径相关
第一步:创建http
1 2 3
| const server = http.createServer((req, res) => {
});
|
第二部:http回调函数
定义路径
在回调函数里面写功能
首先定义路径
1 2 3 4 5
| let url = new URL(req.url, `http://${req.headers.host}`); let pathname = url.pathname; let filePath = path.join(__dirname, pathname);
|
读取文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| fs.readFile(filePath, (err, data) => { if (err) { res.writeHead(404, {'Content-Type': 'text/plain'}); res.end('Not found'); return; } else { res.end(data); } })
|
设置端口,启动服务器
1 2 3
| server.listen(3000, () => { console.log('Server running at http://localhost: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 31 32 33 34 35
| const server = http.createServer((req, res) => {
let url = new URL(req.url, `http://${req.headers.host}`); let pathname = url.pathname;
let filePath = path.join(__dirname, pathname);
console.log('Request for:', filePath);
fs.readFile(filePath, (err, data) => { if (err) { res.writeHead(404, {'Content-Type': 'text/plain'}); res.end('Not found'); return; } else {
res.end(data); } }); });
server.listen(3000, () => { console.log('Server running at http://localhost:3000/'); });
|
hello world