Web前端必做笔记之一:Nunjucks基础使用

在上一节我们说到引入Nunjucks
现在我们用ctx来渲染模版
views下面的模版index.html

<!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>公共模版</title>
</head>
<body><h1>我的第一个模版文件</h1></body>
</html>

server.js中

const Koa = require('koa');
const router = require('koa-router')();
const views = require('koa-views');
const nunjucks = require('nunjucks');
const app = new Koa(); //创建应用app.use(views(__dirname + "/views",{    //项目放在views目录里,使用的模版引擎是nunjucksmap:{html:'nunjucks'}
}))  app.use(async (ctx ) => {await ctx.render("index")  //使用render替换body,这个render是个异步操作,所以前面要加个await, 等待这个异步操作完之后再继续})app.use(router.routes());
app.listen(3000, () => {console.log("server running")
})

再使用命令nodemon server.js 启动成功,就实现了Nunjucks来渲染
这个html文件
我们现在来加一些动态的数据,h1标签里修改为后台的数据,那要怎么修改呢?
server.js中

const Koa = require('koa');
const router = require('koa-router')();
const views = require('koa-views');
const nunjucks = require('nunjucks');
const app = new Koa(); //创建应用app.use(views(__dirname + "/views",{    //项目放在views目录里,使用的模版引擎是nunjucksmap:{html:'nunjucks'}
}))  app.use(async (ctx ) => {await ctx.render("index",{title:"hello nunjucks"})  //使用render替换body,这个render是个异步操作,所以前面要加个await, 等待这个异步操作完之后再继续})app.use(router.routes());
app.listen(3000, () => {console.log("server running")
})

index.html中

<!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>公共模版</title>
</head>
<body><h1>{{title}}</h1></body>
</html>

这样再重新启动服务器,就会看到,hello nunjucks.
通过render的第二个参数把一个数据传递给模版,这就是模版数据传递的方法

Web前端必做笔记之一:Nunjucks基础使用(一)相关推荐

  1. Web前端必做笔记之一:let, var, const的区别

    Web前端必做笔记之一:let, var, const的区别 <script>//var//没有块级作用域,只有函数作用域,支持变量提升console.log(a); var a = 10 ...

  2. 自学web前端的小笔记(入门JS基础部分)

    22.JS前期学习三部分 1-ECMA5 语法 规则 标准 2-DOM 文档对象模型 3-BOM 浏览器对象模型 ECMA6有类的概念,可和面向对象语言区别还是很大,只能说是基于对象的语言 JS的用处 ...

  3. 每天成长一点---WEB前端学习入门笔记

    WEB前端学习入门笔记 从今天开始,本人就要学习WEB前端了. 经过老师的建议,说到他每天都会记录下来新的知识点,每天都是在围绕着这些问题来度过,很有必要每天抽出半个小时来写一个知识总结,及时对一天工 ...

  4. Web 前端必会的 PhotoShop 技能

    Web 前端必会的 PhotoShop 技能 1.PhotoShop 的简介与安装 Adobe PhotoShop,简称"PS",是由 Adobe Systems 开发和发行的图像 ...

  5. 2021年web前端开发视频教程,自学web前端开发技术,全套web前端学习路线笔记

    2021年web前端开发视频教程,自学web前端开发技术,全套web前端学习路线笔记 [导读]:初学web前端的小伙伴经常会遇到的问题,1.没方法 2.没资源 3.没经验,不知道从何开始 ,代码哥(D ...

  6. html5前端开发做什么,Web前端能做什么开发

    对于想要学习HTML5大前端的人来说,从哪里开始入手是困扰他们的难题.前端开发工作已经变的越来越复杂,仅仅是想罗列一份前端开发的学习列表就已经是一件艰巨的工作.曾经只要会编写HTML, CSS和Jav ...

  7. web前端必学功法之一:用户选择爱好

    web前端必学功法之一:用户选择爱好 案例实现效果: 首先做这个页面效果,我们要把页面布局给写好,每个网站做好页面可以解决很大的问题. css代码,这里的页面采用Grid布局 <style> ...

  8. Web前端是做什么的?就业前景如何?

    随着互联网的迅猛发展,各种互联网项目的不断兴起让身处其中的玩家对用户体验提出了更高的要求,前端开发也由此逐渐成为了一个不可缺少的专业研发角色.Web前端开发在国内开始被重视的时间不超过五年.从2014 ...

  9. 深入理解弹性盒布局(fiex-box)——Web前端系列自学笔记

    文章目录 弹性盒布局 弹性盒布局概述 弹性盒布局属性 display flex-flow justify-content align-items order flex align-self 总结 弹性 ...

最新文章

  1. 3.1 cat:合并文件或查看文件内容
  2. Synchronized和Lock的区别
  3. Kinect2.0-空间长度测量
  4. Spring-第2天
  5. 小个子怎么能穿得优雅大方呢?
  6. cf1140E 回文串+染色方案dp
  7. 私塾在线 Java架构师在线课程(148讲教程)
  8. 实验三 直流扫描分析
  9. 小管家进销存_美团入局共享充电宝,专家称或收购一两家,同行称雷声大雨点小...
  10. Android 自带的字体库、字体样式
  11. Hive分区修复msck repair
  12. 小米抢购神器-开放源码
  13. css朗逸保险丝盒机舱,【朗逸保险盒】朗逸保险盒位置图解、拆卸方法_车主指南...
  14. 微软跳上OpenID Bandwagon
  15. 打印机连供加墨的新方式
  16. R语言ggplot2可视化:使用patchwork包将多个ggplot2可视化结果组合起来、使用plot_spacer函数在组合结果图像中的指定位置加入空白区域(不包含任何内容,纯粹空白图)
  17. STM32H7系列其一
  18. 【数字IC手撕代码】Verilog固定优先级仲裁器|题目|原理|设计|仿真
  19. RandomForest中的包外误差估计out-of-bag (oob) error estimate
  20. SVN Clean up失败的解决方法

热门文章

  1. shell181网格划分_【2017年整理】ANSYS中SHELL181单元理解和参数详解.docx
  2. AI助力劳保防护装备穿戴监测,为企业安全生产保驾护航
  3. 小米扫地机器人参数以及芯片参数
  4. linux group mysql_MySQL 中 group by 基本实现原理
  5. 想回家创业,值得吗?
  6. bootstrap设计横线上加字
  7. AI基础:KNN与K近邻距离度量说明、利用KNN手写字体识别分类实践
  8. 戒烟日志(2017)
  9. Copilot使用的关卡——GitHub教育认证方法和注意事项
  10. [附源码]java毕业设计医院仪器设备管理系统