art-template及express框架

一. 使用art-template模板时

	创建入口文件(index.js  注:所有的模板写在views目录中)
	需要搭建模板引擎:package.json(在控制台输入指令:npm init -y) 
	引入模板:art-template(指令:npm install art-template --save)
	在入口文件中添加模板引擎的代码段
// 模板引擎
var template = require('art-template'); 
//var html = template(__dirname+'/views/mytpl.art',{ 
//  user:{ 
//      name:'aui'
//   } 
//});
 输出的是 渲染之后的结果
//console.log(html);
eg1
//let tpl='<ul>{{each list as value}}<li>{{value}}</li>{{/each}}</ul>';
 编译,解析
//let render=template.compile(tpl);
//let result=render({
//	// 写入需要渲染的数据
//	list:['apple','orange','banane']
//});
//console.log(result);
// 对于以上的写法 简化如下:
let tpl='<ul>{{each list as value}}<li>{{value}}</li>{{/each}}</ul>';
let result=template.render(tpl,{list:['apple','orange','banane']});
console.log(result);
或者此种写法:
/let tpl='<ul>{{each list}}<li>{{$index}}---------{{$value}}</li>{{/each}}</ul>';
//let result=template.render(tpl,{list:['apple','orange','banane']});
//console.log(result);
// 根据学号查询成绩的案例
let  html=template(__dirname+'/views/score.art',{
	chinese:'120',
	math:'130',
	english:'110',
	sunmmary:'230'
})
console.log(html);

二.express特点:
1, 实现了路由的功能: 如果没有express 框架之前, 会使用大量的判断来实现路由的划分;
2, 中间件的功能: 帮我们把之前写进服务中的方法以及程序封装在不同的方法中;
3, 对req和res对象 的扩展;
4, 可以集成其他的模板引擎;

三. express的使用:
1, 创建一个文件myExpress;
2, 创建后端入口文件 app.js
3, 生成package.json 文件 npm init -y
4, 安装express包 npm install express --save

const express = require('express'); // 返回一个函数
const app = express();  // 在这里接受 返回的函数
// 在返回的函数中 调用封装好的get方法(get请求) 
	app.get('/index', (req, res) => 
		res.send('Hello World! 你好世界');
	);
	//查看端口和本地ip
	/let server=app.listen(3000,'192.168.0.100',()=>{
	// var host=server.address().address;
	// var port=server.address().port;
	// console.log('Example app listening at http://%s:%s',host,port);
	//})
// 注册一个路由, 请求/的路由
//app.get('/index',(req,res)=>{
//	res.send('Index');
//})
//app.post('/add',(req,res)=>{
//	res.send('post  请求/add');
//})
简化写法
// 1, 在进行路由匹配时候不限定 请求的方式, 什么请求都行
// 2, 请求路径中的第一部分只有与 /index相等都可以, 并不要求请求的路径(pathname)完全匹配
//app.use('/index',(req,res)=>{
//	res.send('Hello World! 你好 世界');
//})
// all()注册路由:1, 不限定请求的方法;2, 请求路径的pathname完全匹配
//app.all('/index',(req,res)=>{
//	res.send('Hello World! 你好 Express框架');
//})
// 正则表达式 注册路由
//app.get(/^\/index(\/.+)*$/,(req,res)=>{
//	res.send('Hello World! 你好 Express框架');
//})

// res.send() 和res.end() 之间的区别:
// 1, 参数类型的区别:
// —res.send() 参数可以是 buffer, string, object , array
// —res.end() 参数类型只能buffer对象或者字符串
// 2, res.send() 响应报文头不同
res.end()只有Content-Type: text/html; charset=utf-8
res.send();可以自动加响应头

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值