首页 > 其他分享 >服务器端模板引擎与客户端模板引擎

服务器端模板引擎与客户端模板引擎

时间:2022-09-28 09:24:07浏览次数:59  
标签:const 服务器端 app express 引擎 template art 模板

服务器端

const template = require('art-template');
const path = require('path');
// 要拼接的路径
const views = path.join(__dirname, 'views', '01.art');
//设置模板根目录 //template.defaults.root = path.join(__dirname, 'views'); // 设置模板根目录 //template.defaults.extname = '.html' // 向模板中导入变量,以便在模板中使用 //template.defaults.imports.sd = sd;
const html = template(views, {
    name: '张三',
    age: 18,
    content: '<h1>我是标题</h1>'
});
//const html = template('02.art', { //    time: new Date() //}); //console.log(template('07', {}));
console.log(html);

01.art模板中内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <p>{{name}}</p>
    <p>{{ 1+1 }}</p>
    <p>{{ 1 + 1 == 2 ? '相等' : '不相等' }}</p>
    <p>{{content}}</p>
    <p>{{@content}}</p> 
    <p>-------------------------------</p>
    <p> <%= name %></p>
    <p><%= 1+2 %></p>
    <p><%= 1 + 1 == 3 ? '相等' : '不相等' %></p>
    <p><%= content %> </p>
    <p><%- content %></p>
</body>
</html>

 服务器端模板引擎express下面

const express = require('express');
const path = require('path');
const app = express();
//告诉express框架使用什么模板引擎渲染什么后缀的文件
app.engine('art', require('express-art-template'));
//告诉express框架模板存放位置
app.set('views', path.join(__dirname, 'views'))
    //告诉express框架模板的默认后缀
app.set('view engine', 'art');

app.get('/index', (req, res) => {
    res.render('index', {
        msg: 'message'
    })
});
app.get('/list', (req, res) => {
    res.render('list', {
        msg: 'listPage'
    })
})

app.listen(3000);

index.art list.art

//index.art
{{msg}}
//list.art
{{msg}}

客户端模板引擎

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <!-- 1. 将模板引擎的库文件引入到当前页面 -->
    <script src="/js/template-web.js"></script>
</head>
<body>
    <div id="container"></div>
    <!-- 2.准备art-template模板 -->
    <script type="text/html" id="tpl">
        <h1>{{username}} {{age}}</h1>
    </script>
    <script type="text/javascript">
        // 3.告诉模板引擎将那个数据和哪个模板进行拼接
        // 1) 模板id 2)数据 对象类型
        // 方法的返回值就是拼接好的html字符串
        var html = template('tpl', {username: 'zhangsan', age: 30});
        document.getElementById('container').innerHTML = html;
    </script>
</body>
</html>

 

标签:const,服务器端,app,express,引擎,template,art,模板
From: https://www.cnblogs.com/wangxianwen/p/16736782.html

相关文章

  • Vue下载excel文件模板
    注意:1.模板一定是英文名2.使用相对于index.html的路径3.a标签同理<a href="./static/template.xlsx" download="模板.xlsx"></a>第一步: vue2.0版本的在项目根目录......
  • C++模板的哲学
    2.5模板C++的模板一直是这门语言的一种特殊的艺术,模板甚至可以独立作为一门新的语言来进行使用。模板的哲学在于将一切能够在编译期处理的问题丢到编译期进行处理,仅在运......
  • 界面组件DevExpress WinForms v22.1 - 全新升级的HTML CSS 模板
    DevExpressWinForms拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office......
  • shopify capital主题模板配置修改
    shopifycapital主题有风格和精确地展示产品,这个主题非常适合编辑内容,优化了更长的文本部分,以支持品牌的故事叙述;高容量商店,专为在特定时期处理大量交易的商店设计  ......
  • Flask学习笔记(三)-jinja2 模板入门
    一、表达式jinja2是一个被广泛使用的模板引擎,其设计思想源自于django模板引擎,jinja2扩展了语法,增加了强大的功能,被flask选为内置的模板语言示例的目录结构如下./├─......
  • 2022年国庆节手抄报模板打印,在线打印更高效
    2022年一年一度的国庆节马上就要到了,为了喜迎国庆、培养学生的爱国精神,有不少学习都会要求中小学生做关于国庆节的手抄报。而有一些家长则是比较聪明的,因为孩子没什么画画......
  • P5656 【模板】二元一次不定方程 (exgcd)
    P5656【模板】二元一次不定方程(exgcd)\[ax+by=d\\ax_1+by_1=c\\x_1=\frac{x*c}{gcd(a,b)},y_1=\frac{y*c}{gcd(a,b)}\\对于最小正整数解有:x_1+\lambda\frac{b}{gcd......
  • 线段树学习笔记(基础&进阶)(一) | P3372 【模板】线段树 1 题解
    什么是线段树线段树是一棵二叉树,每个结点存储需维护的信息,一般用于处理区间最值、区间和等问题。线段树的用处对编号连续的一些点进行修改或者统计操作,修改和统计的复杂......
  • 轻量级工作流引擎的设计与实现
    一、什么是工作流引擎工作流引擎是驱动工作流执行的一套代码。至于什么是工作流、为什么要有工作流、工作流的应用景,同学们可以看一看网上的资料,在此处不在展开。 二......
  • 关于DP的一些模板与题目
    1.线性DP  斐波那契数列(%1000)实现#include<iostream>#include<algorithm>#include<cmath>usingnamespacestd;longlongf[1000005],a[1000005];longlongD......