ホームページ ウェブフロントエンド jsチュートリアル swig レンダリング テンプレートと組み合わせたノード

swig レンダリング テンプレートと組み合わせたノード

Apr 10, 2018 pm 05:00 PM
node swig レンダリング

この記事で共有した内容は、swig レンダリング テンプレートと組み合わせたノードに関するもので、必要な友人は参考にしてください。

ここでは、nodejs で swig テンプレートを適用する方法についていくつかの基本的な使用法をまとめます。もちろん、まず最初に、Express フレームワークを使用してノードのバックエンドにサービスを構築します

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 == &#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>
ログイン後にコピー

特定のページは次のとおりです:


swig レンダリング テンプレートと組み合わせたノード 上記では、swig テンプレート エンジンを使用してページ レンダリングにパラメーターを渡す方法を説明しました。swig を使用して HTML のパブリック部分を抽出する方法を見てみましょう:

HTML ページのパブリック部分。ヘッダー、パブリック JS CSS ファイル、ナビゲーション バーなど。

パブリック ページを設定します:

<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

<!-- 继承所有页面公共的页面模块layout.html -->
{% extends &#39;./layout.html&#39;%}
{% block css %}
<link rel="stylesheet" href="/static/css/home.css">
{% 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 %}
ログイン後にコピー

ノード サーバーを起動してホームページをレンダリングすると、

server.get(&#39;/&#39;,(req,res)=>{
    res.render(&#39;www/home&#39;,{});
})
ログイン後にコピー

swig レンダリング テンプレートと組み合わせたノード が表示されます。関連する推奨事項:

node はトークンベースの認証を実装します

node.js が SQL Server データベースを取得する方法の詳細な例


以上がswig レンダリング テンプレートと組み合わせたノードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

nvmでノードを削除する方法 nvmでノードを削除する方法 Dec 29, 2022 am 10:07 AM

nvm でノードを削除する方法: 1. 「nvm-setup.zip」をダウンロードして C ドライブにインストールします; 2. 「nvm -v」コマンドで環境変数を構成し、バージョン番号を確認します; 3. 「nvm」を使用しますinstall" コマンド ノードのインストール; 4. "nvm uninstall" コマンドでインストールしたノードを削除します。

Express を使用してノード プロジェクトでファイルのアップロードを処理する方法 Express を使用してノード プロジェクトでファイルのアップロードを処理する方法 Mar 28, 2023 pm 07:28 PM

ファイルのアップロードをどのように処理するか?次の記事では、Express を使用してノード プロジェクトでファイルのアップロードを処理する方法を紹介します。

Kujiale で直交上面ビューをレンダリングする方法_Kijiale で直交上面ビューをレンダリングするチュートリアル Kujiale で直交上面ビューをレンダリングする方法_Kijiale で直交上面ビューをレンダリングするチュートリアル Apr 02, 2024 pm 01:10 PM

1. まず、Kijiale でレンダリングするデザインプランを開きます。 2. 次に、レンダリング メニューでトップ ビュー レンダリングを開きます。 3. 次に、トップ ビュー レンダリング インターフェイスのパラメーター設定で [直交] をクリックします。 4. 最後に、モデルの角度を調整した後、[今すぐレンダリング]をクリックして直交上面ビューをレンダリングします。

Nodeのプロセス管理ツール「pm2」を徹底分析 Nodeのプロセス管理ツール「pm2」を徹底分析 Apr 03, 2023 pm 06:02 PM

この記事では、Node のプロセス管理ツール「pm2」について説明し、pm2 が必要な理由、pm2 のインストール方法と使用方法について説明します。皆様のお役に立てれば幸いです。

PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? PIノードティーチング:PIノードとは何ですか? PIノードをインストールしてセットアップする方法は? Mar 05, 2025 pm 05:57 PM

ピン張りのノードの詳細な説明とインストールガイドこの記事では、ピネットワークのエコシステムを詳細に紹介します - PIノードは、ピン系生態系における重要な役割であり、設置と構成の完全な手順を提供します。 Pinetworkブロックチェーンテストネットワークの発売後、PIノードは多くの先駆者の重要な部分になり、テストに積極的に参加し、今後のメインネットワークリリースの準備をしています。まだピン張りのものがわからない場合は、ピコインとは何かを参照してください。リストの価格はいくらですか? PIの使用、マイニング、セキュリティ分析。パインワークとは何ですか?ピン競技プロジェクトは2019年に開始され、独占的な暗号通貨PIコインを所有しています。このプロジェクトは、誰もが参加できるものを作成することを目指しています

vue ページのレンダリングは同期ですか、それとも非同期ですか? vue ページのレンダリングは同期ですか、それとも非同期ですか? Dec 13, 2022 pm 07:26 PM

Vue ページのレンダリングは非同期です。 Vue は非同期レンダリングを使用します。これにより、パフォーマンスが向上します。非同期更新が使用されない場合、データが更新されるたびに現在のコンポーネントが再レンダリングされます。パフォーマンス上の理由から、Vue はこの一連のデータ更新後にビューを非同期的に更新します。

SWIG を使用して C/C++ を Python にラップする SWIG を使用して C/C++ を Python にラップする Aug 25, 2023 pm 08:25 PM

既存の C または C++ 機能を Python でカプセル化するには、いくつかの方法があります。このセクションでは、SWIG を使用して C/C++ 機能をラップする方法を説明します。 C/C++ 機能を Python でラップするための他のオプションを次に示します。手動ラッピングでは、Pyrex を使用して C コードをラップします。 CtypesSIPBoostPythonSWIG (Simple Wrapper Interface Generator) は、Perl、Python、PHP、Ruby、Tcl、C#、CommonLisp (CLISP、Allegro、CL、UFFI、CFFI)、Java、Modula-3、およびOCAML.Swig も複数の解釈とコンパイルをサポート

Angular と Node を使用したトークンベースの認証 Angular と Node を使用したトークンベースの認証 Sep 01, 2023 pm 02:01 PM

認証は、Web アプリケーションの最も重要な部分の 1 つです。このチュートリアルでは、トークンベースの認証システムと、それが従来のログイン システムとどのように異なるかについて説明します。このチュートリアルを終えると、Angular と Node.js で書かれた完全に動作するデモが表示されます。従来の認証システム トークンベースの認証システムに進む前に、従来の認証システムを見てみましょう。ユーザーはログイン フォームにユーザー名とパスワードを入力し、[ログイン] をクリックします。リクエストを行った後、データベースにクエリを実行してバックエンドでユーザーを認証します。リクエストが有効な場合、データベースから取得したユーザー情報を使用してセッションが作成され、セッション情報が応答ヘッダーで返され、セッション ID がブラウザに保存されます。対象となるアプリケーションへのアクセスを提供します。

See all articles