最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

node結(jié)合swig渲染摸板的方法

 更新時(shí)間:2018年04月11日 10:38:04   作者:吳凌云  
本篇文章主要介紹了node結(jié)合swig渲染摸板的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

在這里就nodejs如何應(yīng)用swig摸板,總結(jié)一下一些基本的用法。

首先當(dāng)然是利用express框架在node后臺(tái)上面搭建服務(wù)

var express = require('express');
var server = express();

server.listen(8080,'localhost',(req,res)=>{
   console.log('服務(wù)器啟動(dòng)...');
})

啟動(dòng)成功之后,開(kāi)始設(shè)置swig摸板的相關(guān)配置,具體代碼如下:

npm install swig -s

安裝成功之后,加上swig配置,代碼如下:

//配置摸板引擎
var swig = require('swig');
//參數(shù)1,摸板引擎的名稱,固定字段
//參數(shù)2,摸板引擎的方法
server.engine('html',swig.renderFile);
//摸板引擎存放目錄的關(guān)鍵字,固定字段
//實(shí)際存在的目錄,html文件就在html文件夾下面
server.set('views',__dirname+'/html');
//注冊(cè)摸板引擎,固定字段
server.set('view engine','html');
//關(guān)閉swig緩存,緩存的目的也是提高node服務(wù)器的響應(yīng)速度
swig.setDefaults({cache:false});

配置需要渲染的數(shù)據(jù):

server.get('/',(req,res)=>{
  //render方法只有在使用摸板引擎之后才會(huì)生效,其中 參數(shù)1是需要渲染的摸板名稱,參數(shù)2就是需要渲染到頁(yè)面的一些參數(shù)
  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>
  <div>摸板引擎</div>
  <!-- {{}} 插值表達(dá)式-->
  姓名:<p>{{name}}</p>
  {% if user.name == '栗子' && user.age == '18'%}
  姓名:<p>栗子</p>
  {% elseif user.name == '張三'%}
  <p>張三</p>
  {% endif %}
  <p>遍歷數(shù)組</p>
  {% for items in lists%}
  <li>items</li>
  {% endfor %}
  
   <!-- 頁(yè)面上面設(shè)置數(shù)據(jù) -->
  {% set arr = [1,2,3,4,5]%}
  <p>{{arr.length}}</p>
  <!-- 如何引入頁(yè)面-->
  {% include './common.html' %}
</body>
</html>

具體頁(yè)面顯示如下:

上面講的是使用swig摸板引擎如何傳遞參數(shù)到頁(yè)面渲染,下面來(lái)看看如何使用swig提取html公共的部分:

html頁(yè)面公共的部分,比如說(shuō)header,公共的js css文件,導(dǎo)航欄等

設(shè)置一個(gè)公共的頁(yè)面:

<header>
  <title>node</title>
  <!-- css占位符主要用來(lái)顯示其他頁(yè)面的個(gè)性化的css文件,例如home.css about.css -->
  {% block css%}
  {% endblock %}
  <link rel="stylesheet" href="/static/css/layout.css" rel="external nofollow" >
</header>
<!-- 所以頁(yè)面公共的導(dǎo)航欄 -->
<nav>
  <li><a href="">首頁(yè)</a></li>
  <li><a href="">關(guān)于我們</a></li>
  <li><a href="">商品列表</a></li>
  <li><a href="">登錄</a></li>
  <li><a href="">注冊(cè)</a></li>
</nav>
 <!-- content占位符主要用來(lái)顯示其他頁(yè)面的個(gè)性化的內(nèi)容顯示,不同的頁(yè)面有不同的顯示方式 -->
{% block content%}
{% endblock %}
 <!-- js占位符主要用來(lái)顯示其他頁(yè)面的個(gè)性化的js文件,例如home.js about.js -->
{% block js%}
{% endblock %}
<script src="/static/js/layout.js"></script>

home.html

<!-- 繼承所有頁(yè)面公共的頁(yè)面模塊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 %}

當(dāng)啟動(dòng)node服務(wù)器,渲染home頁(yè)面的時(shí)候,你會(huì)看到

server.get('/',(req,res)=>{
  res.render('www/home',{});
})

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Node.JS如何實(shí)現(xiàn)JWT原理

    Node.JS如何實(shí)現(xiàn)JWT原理

    jwt是json web token的簡(jiǎn)稱,本文介紹它的原理,最后后端用nodejs自己實(shí)現(xiàn)如何為客戶端生成令牌token和校驗(yàn)token
    2020-09-09
  • Node.js多文件Stream合并,串行和并發(fā)兩種模式的實(shí)現(xiàn)方式

    Node.js多文件Stream合并,串行和并發(fā)兩種模式的實(shí)現(xiàn)方式

    這篇文章主要介紹了Node.js多文件Stream合并,串行和并發(fā)兩種模式的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 深入解析Nodejs中的大文件讀寫(xiě)

    深入解析Nodejs中的大文件讀寫(xiě)

    這篇文章主要介紹了深入解析Nodejs中的大文件讀寫(xiě),文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-09-09
  • Nodejs做文本數(shù)據(jù)處理實(shí)現(xiàn)詳解

    Nodejs做文本數(shù)據(jù)處理實(shí)現(xiàn)詳解

    這篇文章主要為大家介紹了Nodejs做文本數(shù)據(jù)處理實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • nodejs同步調(diào)用獲取mysql數(shù)據(jù)時(shí)遇到的大坑

    nodejs同步調(diào)用獲取mysql數(shù)據(jù)時(shí)遇到的大坑

    今天小編就為大家分享一篇關(guān)于nodejs同步調(diào)用獲取mysql數(shù)據(jù)時(shí)遇到的大坑,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • Node輸出日志的正確方法示例

    Node輸出日志的正確方法示例

    這篇文章主要為大家介紹了Node輸出日志的正確方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 淺談HTTP 緩存的那些事兒

    淺談HTTP 緩存的那些事兒

    HTTP 緩存機(jī)制作為 Web 應(yīng)用性能優(yōu)化的重要手段,是想要成為前端架構(gòu)的必備技能。這篇文章主要介紹了淺談HTTP 緩存并用node實(shí)現(xiàn)緩存,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-10-10
  • node.js實(shí)現(xiàn)微信JS-API封裝接口的示例代碼

    node.js實(shí)現(xiàn)微信JS-API封裝接口的示例代碼

    這篇文章主要介紹了node.js實(shí)現(xiàn)微信JS-API封裝接口的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • 輕松創(chuàng)建nodejs服務(wù)器(2):nodejs服務(wù)器的構(gòu)成分析

    輕松創(chuàng)建nodejs服務(wù)器(2):nodejs服務(wù)器的構(gòu)成分析

    這篇文章主要介紹了輕松創(chuàng)建nodejs服務(wù)器(2):nodejs服務(wù)器的構(gòu)成分析,本文是對(duì)第一節(jié)中簡(jiǎn)單服務(wù)器的代碼進(jìn)行分析總結(jié),需要的朋友可以參考下
    2014-12-12
  • module.exports和exports使用誤區(qū)案例分析

    module.exports和exports使用誤區(qū)案例分析

    module.exports和exports使用誤區(qū),使用require()模塊時(shí),得到的永遠(yuǎn)都是module.exports指向的對(duì)象
    2023-04-04

最新評(píng)論

新津县| 姚安县| 武威市| 绿春县| 集贤县| 宁波市| 康乐县| 合水县| 墨江| 绍兴市| 灯塔市| 缙云县| 仁化县| 富源县| 隆安县| 临高县| 宜阳县| 吉首市| 静宁县| 临颍县| 加查县| 蓬溪县| 凤山县| 睢宁县| 南部县| 绍兴市| 衡阳市| 泾川县| 安龙县| 昭觉县| 建湖县| 景泰县| 汾西县| 天峨县| 聂拉木县| 安陆市| 曲靖市| 都安| 玛沁县| 惠来县| 兴文县|