Maison  >  Article  >  interface Web  >  nœud combiné avec un modèle de rendu swig

nœud combiné avec un modèle de rendu swig

不言
不言original
2018-04-10 17:00:031076parcourir

Le contenu partagé avec vous dans cet article concerne le nœud combiné avec le modèle de rendu swig. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer

Voici un résumé de la façon dont nodejs applique le modèle swig. . Examinons quelques utilisations de base.
Tout d'abord, bien sûr, utilisez le framework express pour créer des services sur le backend du nœud

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

server.listen(8080,'localhost',(req,res)=>{
     console.log('服务器启动...');
})

Une fois le démarrage réussi, commencez à configurer la configuration appropriée du modèle swig. est le suivant :
npm install swig -s
Après une installation réussie, ajoutez la configuration swig, le code est le suivant :

//配置摸板引擎
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});

Configurez les données à restituer :

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']
    });
})

Le code spécifique du fichier html est le suivant :

<!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 == &#39;栗子&#39; && user.age == &#39;18&#39;%}
    姓名:<p>栗子</p>
    {% elseif user.name == &#39;张三&#39;%}
    <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 &#39;./common.html&#39; %}
</body>
</html>

La page spécifique s'affiche comme suit :
nœud combiné avec un modèle de rendu swig

Ce qui précède décrit comment utiliser le moteur de modèle swig pour transmettre des paramètres au rendu des pages. Voyons comment utiliser swig pour extraire les parties publiques du HTML :
Parties publiques des pages HTML, telles que l'en-tête, les fichiers CSS js publics. , barres de navigation, etc.
Définissez une page publique :

<header>
    <title>node</title>
    <!-- css占位符主要用来显示其他页面的个性化的css文件,例如home.css about.css -->
    {% block css%}
    {% endblock %}
    <link rel="stylesheet" href="/static/css/layout.css">
</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

d4cca6311f99f023c034557d9c699285
{% extends './layout.html'%}
{% block css %}
93df20d6087b99c1f2fce1dfd065778e
{% endblock %}
{% block content %}
  25edfb22a4f469ecb59f1190150159c66170e8999ab19ec641e0422470b16d5c15db79b134e9f6b82c0b36e0489ee08edbed06894275b65c1ab86501b08a632eb
  25edfb22a4f469ecb59f1190150159c66170e8999ab19ec641e0422470b16d5c25db79b134e9f6b82c0b36e0489ee08edbed06894275b65c1ab86501b08a632eb
  25edfb22a4f469ecb59f1190150159c66170e8999ab19ec641e0422470b16d5c35db79b134e9f6b82c0b36e0489ee08edbed06894275b65c1ab86501b08a632eb
  25edfb22a4f469ecb59f1190150159c66170e8999ab19ec641e0422470b16d5c45db79b134e9f6b82c0b36e0489ee08edbed06894275b65c1ab86501b08a632eb
  25edfb22a4f469ecb59f1190150159c66170e8999ab19ec641e0422470b16d5c55db79b134e9f6b82c0b36e0489ee08edbed06894275b65c1ab86501b08a632eb
  25edfb22a4f469ecb59f1190150159c66170e8999ab19ec641e0422470b16d5c65db79b134e9f6b82c0b36e0489ee08edbed06894275b65c1ab86501b08a632eb
{% endblock %}

{% block js %}
4598c8b9c010e04b865fd3e7954034832cacc6d41bbb37262a98f745aa00fbf0
{% endblock %}

Lors du démarrage du serveur de nœuds et du rendu de la page d'accueil, vous verrez

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

🎜>nœud combiné avec un modèle de rendu swig

connexes Recommandé :

le nœud implémente l'authentification basée sur un jeton

Un exemple détaillé de la façon dont node.js obtient la base de données SQL Server


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn