art-template 模板引擎

模板引擎

下载:npm install art-template
可以把我们的 js 里面的变量或者数据放置在外部的页面里面。
    底层实现:正则+替换
    具体:
    1. 我们外置的页面一般我们叫做模板,模板里面一般会放置很多的占位符。占位符值得是后面可以通过变量替换出来的。
    2. 使用模板引擎,把那些占位符通过变量替换出来。

标准语法使用{{ kw }}形如这样的结构叫做占位符,也可以叫做插值表达式,后面在学习 vuejs的时候,到处都可以看到这个

渲染模板

template(filename, content):根据模板名渲染模板;返回值为渲染后的 html 字符串
参数
    filename 需要渲染的 HTML 模板文件路径,或 HTML 代码段的 id
    content 需要渲染的数据,其值为一个对象,用于给模板中的插值表达式传递数据;如果没有需要渲染的数据可以设置为一个空对象 {}

views/search.art文件代码:

<!DOCTYPE html>
<html lang="zh_CN">
<head>
    <meta charset="UTF-8">
    <title>搜索表单</title>
</head>
<body>
<h1>xxx商城</h1>
<!--// 代表提交当前的url-->
<form action="" method="get">
    <input type="text" name="kw">
    <input type="submit" value="提交">
</form>

<p>把用户搜索的关键字:<b>{{ kw }}</b></p>
<hr>
<ul>
    <li>商品一</li>
    <li>商品一</li>
    <li>商品一</li>
    <li>商品一</li>
    <li>商品一</li>
    <li>商品一</li>
</ul>
</body>
</html>

app.js代码:

const express = require('express');
const url = require('url');// 专门负责处理url部分
const path = require('path');

var template = require('art-template');
const app = express();
const port = 3000;

app.get('/search', (req, res)=> {
    //console.log(req.query); // 第一次没有
    let kw = req.query.kw; // 用户输入的查询关键字、
    //path.resolve() 方法会把一个路径或路径片段的序列解析为一个绝对路径。
    //第一个参数:代表的是模板,模板里面存着很多的占位符
    // 第二个参数:给模板传递的数据,是一个对象格式 
    let absPath = path.resolve(__dirname, './views/search.art');
    let templateHtml = template(absPath, {kw});
    res.send(templateHtml);
});

app.listen(port, () => console.log(`Example app listening on port ${port}!`))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值