开发者学堂课程【Node.js 入门与实战: HackerNews04-将render函数挂在到res对象上】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/588/detail/8277
HackerNews04-将 render 函数挂在到 res 象上
将 render 函数挂在到 res 对象上
Res.render = function (filename) {
fs.readFile(filename,function (err, data) {
if (err) {
res .writeHead(404,’Not Found’,{‘Content- Type’:’text/html ;charset=utf-8’});
res .end(‘404, not found.’);
return ;
}
res . setHeader(‘Content-Type’, mime . getType(req.url));
res .end(data);
});
}
将 render 函数挂载到 res 对象上,可以通过 res.render()来访问
为 res 对象添加一个 render()函数,方便后续使用
// 先根据用户请求的路径(路由),将对应的HTML页面显示出来
if (req.url ===’/’ || req.url === ‘/index ‘&& req.method === ‘get’) {
// 读取 index.html
res.render(path. join(--dirname, ‘views’,’ index.html’), ))
else if (req.url === ‘/submit’&&req.method === ‘get’) {
// 读取 submit.html 并返回
res.render(path. join(--dirname, ‘views’,’ submit.html’), ));
else if (req.url === ‘/item’ && req.method === ‘get’) {
// 读取 details.html 并返回
res.render(path. join(--dirname, ‘views’,’ details..html’), ));
else if (req.url === ‘/add’ && req.method === ‘get’) {
// 表示 get 方法提取一条新闻
else if (req.url === ‘/add’ && req.method === ‘get’) {
// 表示 post 方法提交一条新闻
else if (req.url.startsWith(‘/resources’) && req.method === ‘get’) {
//如果用户请求是以/resources 开头,并且是get请求,就认为用户是要请求静态资源
// /resources/images/s.gif
res.render(path. join(--dirname, req.url), ));
在 cmd 下输入文件名获取地址然后在浏览器下进行验证。