Res.sendFile和res.render|学习笔记

简介: 快速学习 Res.sendFile 和 res.render

开发者学堂课程【Node.js 入门与实战:Res.sendFile 和 res.render】学习笔记,与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/588/detail/8323


Res.sendFile和res.render

 

一、加载的 html 页面

代码:

// 1.创建一个 router 对象(router 对象既是一个对象,也是一个函数>var express = require( ' express' );

//加教业务模块

var handler = require( ' ./handler.js ');var router = express.Router(;

//2.通过 router 对象设置((挂载)路由 router.get('/', handler.index);

router.get( ' /index ' , handler.index);

router.get('/ submit', function(req, res){//body . . .

});

router.get("/item', function(redq,res){// body. .

I

);

router.get( ' /add' , function(req, res) {l / body . . .

});

router.post( ' / add', function(req, res){// body . ..

});

// 3.返回 router 对象moduLe.exports = router;

在到 header.js 里面加入,以下代码:

//处理新闻列表 index

module.exports .index = function (req,res)i

res.sendFile(path.join(__dirname, 'views ' , 'index.html ' ));

在到终端里面去测试,显示结果:

image.png

当访问 css 的时候会报错,图片如下:

image.png

除了router.js 以外,还要添加一个。

在 router.js 里面添加,下列代码:

//实现对 resources 文件夹下的内容进行静态资源托管router.use("/resources, express.stati(path.join(__dirname,’resources’)))

在添加path:var path=require( 'path);加上路由的时候,再到终端里面去运行。(结果如下:)

image.png

加载的 html 页面,没有css文件和image图片文件

案例:

module.exports.index = function (req, res) {

res.send('这个是 handler.index 方法中的代码');

返回一些文字信息: res.send('这个是 handler.index 方法中的代码'); ,尝试返回 html 页面

案例:使用一下案例尝试返回 html 页面文本信息

加载的 html 页面,有 css 文件和 image 图片文件

express 模拟 Apache 实现静态资源托管服务express框架之通过express 模拟 Apache 实现静态资源托管服务 ,我们修改下路由模块 router.js 里面的代码,实现对 resources 文件下的内容进行静态资源托

sendFile()方法虽然可以读取对应的文件并返回,但是我们不使用 sendFile()方法。原因是:将来我们要对 index.html 中的模板代码进行执行并替换替换

用的是:

在 response 中的 render 方法,代码如下:

res . render(path. join(__ dirname, ' views',' index.html' ));

网页结果:

image.png

报错发现找不到,html 这个东西,因为你没有配置说所以没有找到这个。默认 render 方法是不能使用的,需要为 express 配置一个模板引擎,然后才可以使用

Express 支持的模板引擎有(图片如下:):

image.png

相关文章
|
5月前
|
Java Maven
Cannot resolve method ‘success‘ in ‘Result‘
Cannot resolve method ‘success‘ in ‘Result‘
|
6月前
|
关系型数据库 MySQL Linux
FATAL ERROR: Could not find my_print_defaults
FATAL ERROR: Could not find my_print_defaults
179 0
|
7月前
|
前端开发
ES7 async await return value
ES7 async await return value
48 1
|
JavaScript 中间件 开发者
res.send()和res.end()区别|学习笔记
快速学习 res.send()和res.end()区别
|
JavaScript 开发者
res.setHeader 方法和 res.writeHead 方法|学习笔记
快速学习 res.setHeader 方法和 res.writeHead 方法
|
JavaScript
认识 Express 的 res.send() 和 res.end()
在使用 Node.js 的服务端代码中,如果使用的是 Express 框架,那么对于一个请求,常常会有两种响应方式:
389 0
认识 Express 的 res.send() 和 res.end()
|
Web App开发 前端开发 JavaScript