这次给大家带来如何使用node结合swig渲染摸板,使用node结合swig渲染摸板的注意事项有哪些,下面就是实战案例,一起来看一下。
首先当然是利用express框架在node后台上面搭建服务
var express = require('express'); var server = express(); server.listen(8080,'localhost',(req,res)=>{ console.log('服务器启动...'); })
启动成功之后,开始设置swig摸板的相关配置,具体代码如下:
npm install swig -s
安装成功之后,加上swig配置,代码如下:
//配置摸板引擎 var swig = require('swig'); //参数1,摸板引擎的名称,固定字段 //参数2,摸板引擎的方法 server.engine('html',swig.renderFile); //摸板引擎存放目录的关键字,固定字段 //实际存在的目录,html文件就在html文件夹下面 server.set('views',dirname+'/html'); //注册摸板引擎,固定字段 server.set('view engine','html'); //关闭swig缓存,缓存的目的也是提高node服务器的响应速度 swig.setDefaults({cache:false});
配置需要渲染的数据:
server.get('/',(req,res)=>{ //render方法只有在使用摸板引擎之后才会生效,其中 参数1是需要渲染的摸板名称,参数2就是需要渲染到页面的一些参数 res.render('temp',{ name:'张三', user:{ name:'栗子', age:18 }, lists:['item1','item2','item3','item4','item5', 'item6','item7','item8','item9','item10','item11','item12', 'item13','item14','item15','item16','item17','item18','item19', 'item20','item21','item22','item23','item24','item25','item26'] }); })
html文件的具体代码如下所示:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <p>摸板引擎</p> <!-- {{}} 插值表达式--> 姓名:<p>{{name}}</p> {% if user.name == '栗子' && user.age == '18'%} 姓名:<p>栗子</p> {% elseif user.name == '张三'%} <p>张三</p> {% endif %} <p>遍历数组</p> {% for items in lists%} <li>items</li> {% endfor %} <!-- 页面上面设置数据 --> {% set arr = [1,2,3,4,5]%} <p>{{arr.length}}</p> <!-- 如何引入页面--> {% include './common.html' %} </body> </html>
具体页面显示如下:
上面讲的是使用swig摸板引擎如何传递参数到页面渲染,下面来看看如何使用swig提取html公共的部分:
html页面公共的部分,比如说header,公共的js css文件,导航栏等
设置一个公共的页面:
<header> <title>node</title> <!-- css占位符主要用来显示其他页面的个性化的css文件,例如home.css about.css --> {% block css%} {% endblock %} <link rel="stylesheet" href="/static/css/layout.css" rel="external nofollow" > </header> <!-- 所以页面公共的导航栏 --> <nav> <li><a href="">首页</a></li> <li><a href="">关于我们</a></li> <li><a href="">商品列表</a></li> <li><a href="">登录</a></li> <li><a href="">注册</a></li> </nav> <!-- content占位符主要用来显示其他页面的个性化的内容显示,不同的页面有不同的显示方式 --> {% block content%} {% endblock %} <!-- js占位符主要用来显示其他页面的个性化的js文件,例如home.js about.js --> {% block js%} {% endblock %} <script src="/static/js/layout.js"></script>
home.html
<!-- 继承所有页面公共的页面模块layout.html --> {% extends './layout.html'%} {% block css %} <link rel="stylesheet" href="/static/css/home.css" rel="external nofollow" > {% endblock %} {% block content %} <li><a href="">1</a></li> <li><a href="">2</a></li> <li><a href="">3</a></li> <li><a href="">4</a></li> <li><a href="">5</a></li> <li><a href="">6</a></li> {% endblock %} {% block js %} <script src="/static/js/home.js"></script> {% endblock %}
当启动node服务器,渲染home页面的时候,你会看到
server.get('/',(req,res)=>{ res.render('www/home',{}); })
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
以上是如何使用node结合swig渲染摸板的详细内容。更多信息请关注PHP中文网其他相关文章!

node、nvm与npm的区别:1、nodejs是项目开发时所需要的代码库,nvm是nodejs版本管理工具,npm是nodejs包管理工具;2、nodejs能够使得javascript能够脱离浏览器运行,nvm能够管理nodejs和npm的版本,npm能够管理nodejs的第三方插件。

Vercel是什么?本篇文章带大家了解一下Vercel,并介绍一下在Vercel中部署 Node 服务的方法,希望对大家有所帮助!

node怎么爬取数据?下面本篇文章给大家分享一个node爬虫实例,聊聊利用node抓取小说章节的方法,希望对大家有所帮助!

有多种方法可以将现有的C或C++功能封装在Python中。在本节中,我们将了解如何使用SWIG包装C/C++功能。以下是在python中包装C/C++功能的其他选项。手动包装使用Pyrex包装C代码。CtypesSIPBoostPythonSWIG(简单包装接口生成器)能够使用许多其他语言(包括Perl、Python、PHP、Ruby、Tcl、C#、CommonLisp(CLISP、Allegro、CL、UFFI、CFFI)、Java、Modula-3和OCAML。Swig还支持多种解释和编译的

node导出模块的两种方式:1、利用exports,该方法可以通过添加属性的方式导出,并且可以导出多个成员;2、利用“module.exports”,该方法可以直接通过为“module.exports”赋值的方式导出模块,只能导出单个成员。

安装node时会自动安装npm;npm是nodejs平台默认的包管理工具,新版本的nodejs已经集成了npm,所以npm会随同nodejs一起安装,安装完成后可以利用“npm -v”命令查看是否安装成功。

node中没有包含dom和bom;bom是指浏览器对象模型,bom是指文档对象模型,而node中采用ecmascript进行编码,并且没有浏览器也没有文档,是JavaScript运行在后端的环境平台,因此node中没有包含dom和bom。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3汉化版
中文版,非常好用

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)