下面是详解Nodejs之静态资源处理的完整攻略:
什么是静态资源
静态资源即指在服务器端不需要通过任何逻辑处理,直接返回给客户端的文件,例如图片、CSS、JavaScript代码等。
静态资源处理方式
在Node.js中,处理静态资源主要有以下几种方式:
1. 使用原生的http
模块
const http = require('http');
const fs = require('fs');
const path = require('path');
http.createServer((req, res) => {
const filename = path.join(__dirname, 'public', req.url);
fs.readFile(filename, (err, data) => {
if (err) {
res.writeHead(404, {'Content-Type': 'text/html'});
res.end('<h1>Not Found</h1>');
} else {
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(data);
}
});
}).listen(3000, () => {
console.log('Server running at http://localhost:3000/');
});
以上代码使用原生的http
模块,监听端口为3000,在浏览器中访问http://localhost:3000/html/index.html时,程序会读取本地public/html/index.html
文件,并将读取到的内容返回给客户端。
2. 使用koa-static
中间件
const Koa = require('koa');
const serve = require('koa-static');
const app = new Koa();
app.use(serve(__dirname + '/public'));
app.listen(3000);
console.log('Server running at http://localhost:3000/');
以上代码使用koa
框架和koa-static
中间件,监听端口为3000,在浏览器中访问http://localhost:3000/html/index.html时,程序会读取本地public/html/index.html
文件,并将读取到的内容返回给客户端。
注意事项
在使用以上两种方式时,需要注意以下几点:
-
程序需要对文件进行类型判断,设置正确的
Content-Type
头信息。 -
程序需要设置404页面,当请求的文件不存在时返回404页面。
-
在使用
koa-static
中间件时,需要将静态资源文件存放在指定目录内,否则会返回404页面。
关于静态资源处理就讲解到这里,有任何不懂之处可以随时提问,我会尽量解答。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Nodejs之静态资源处理 - Python技术站