Node.js使用第三方Express

Express详细总结的优秀博客

Express官网

1.使用Express发送简单的网络请求

let express=require('express');
//创建你服务器应用程序,相当于原来的http.createServer
let app=express();
//公开指定目录,只要这样做了,我们就可以直接通过/public/xxx的方式访问public目录中的所有资源了
//第一个指定的参数xxx是通过链接xxx开头的访问第二个参数文件夹中的文件,相当于起了一个别名
app.use('/public/',express.static('./public/'));
//服务器收到get请求/的时候,执行回调
app.get('/',function(req,res){
    res.send('hellow express');
})
//相当于server.listen
app.listen(8888,function(){
    console.log('app is running at port 8888');
})

2.Express结合模板引擎使用

我们结合Express使用模板引擎需要同时安装art-template和express-art-template

安装完之后,需要导入模板引擎,第一个参数表示当渲染以.xxx结尾的文件的时候,使用art-template模板引擎

app.engine('html',require('express-art-template'));

Express为response提供了一个方法render,只有配置了模板引擎才可以使用

res.render('html模板名',{模板数据})

这个方法第一个参数不能写路径,默认会去项目中的views目录查找该模板文件

Express有一个约定:开发人员会把所有试图文件都放到views目录中

//在express中使用模板引擎,我们需要安装art-template和express-art-template,因为express-art-template依赖art-template
let express=require('express');
//创建你服务器应用程序,相当于原来的http.createServer
let app=express();
//公开指定目录,只要这样做了,我们就可以直接通过/public/xxx的方式访问public目录中的所有资源了
//第一个指定的参数xxx是通过链接xxx开头的访问第二个参数文件夹中的文件,相当于起了一个别名
app.use('/public/',express.static('./public/'));
//第一个参数表示当渲染以.xxx结尾的文件的时候,使用art-template模板引擎
app.engine('html',require('express-art-template'));
//服务器收到get请求/的时候,执行回调
app.get('/',function(req,res){
    //res.send('hellow express');
    //Express为response提供了一个方法render,只有配置了模板引擎才可以使用
    //res.render('html模板名',{模板数据})
    //这个方法第一个参数不能写路径,默认会去项目中的views目录查找该模板文件
    //Express有一个约定:开发人员会把所有试图文件都放到views目录中
    res.render('404NotFound.html',{
        msg:'我是发送过来的数据'
    });
})
//如果想要修改默认的views视图渲染存储目录
//app.set('views',目录路径);
//相当于server.listen
app.listen(8888,function(){
    console.log('app is running at port 8888');
})

 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>404</title>
</head>
<body>
    <h1>404 Not Found</h1>
    <p>{{msg}}</p>
</body>
</html>

3.关于Express中的表单post提交问题

有时候我们在form表单提交的时候,表单发送的是POST请求,这个时候我们就需要使用一个中间插件body-parser来接收数据。

(1)安装中间件

(2)引包

let bodyParser=require('body-parser');

(3)配置body-parser

只要加入这个设置,那么在req请求对象上会多出来一个属性:body,我们这个时候就可以直接通过req.body来获取表单POST请求体数据了。

app.use(bodyParser.urlencoded({extended:false}));
app.use(bodyParser.json());

(4)我们可以通过req.body()来获取表单POST请求体数据

app.use(function(req,res){
   res.setHeader('Content-Type','text/plain')
   res.write('you posted:\n')
   res.end(JSON.stringify(req.body,null,2))
})

4.Express创建路由的方法

我们在根据客户端不同的请求路径,发送不同的静态数据文件,需要使用到路由,Express提供了一种更好的方式,是专门用来包装路由的,我们可以把处理路由的操作单独的抽离出来成为一个文件使用。

(1)创建一个路由容器

let router=express.Router();

(2)把路由都挂载到router路由容器中

router.get('路径名称',回调函数)

(3)把router导出

(4)在app文件中把路由容器导入并挂载到app服务中

app.use(router)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值