nodejsテンプレートの置き換え

PHPz
リリース: 2023-05-17 10:11:36
オリジナル
657 人が閲覧しました

Node.js の普及に伴い、そのテンプレート エンジンに注目し、使用する人が増えています。テンプレート エンジンは、HTML、XML、その他のドキュメントにデータを動的に挿入するためのシンプルで使いやすい方法です。

Node.js では、Handlebars、EJS、Jade、Pug などのさまざまなテンプレート エンジンを使用できます。これらのテンプレート エンジンを使用すると、動的コンテンツを簡単に作成できます。

この記事では、テンプレート ファイル、文字列置換、関数の使用など、Node.js のテンプレート エンジンを使用してテンプレート データを置換するいくつかの方法を紹介します。これらの各メソッドでは、テンプレート エンジンが指定されたデータに基づいて最終的なテキスト出力を生成します。

  1. テンプレート ファイルの使用

テンプレート ファイルを使用する方法は、最も一般的な方法です。まず、必要な割合のデータを含むテンプレート ファイルを作成する必要があります。文字を置き換える必要があります。

たとえば、次の内容を含む template.html というファイルを作成できます。

<!DOCTYPE html>
<html>
<head>
    <title>{{title}}</title>
</head>
<body>
    <h1>{{heading}}</h1>
    <p>{{content}}</p>
</body>
</html> 
ログイン後にコピー

このテンプレートでは、2 つの {{} } プレースホルダーを使用します。それぞれ、置換対象のタイトル、タイトル、コンテンツ部分に対応します。次に、テンプレート ファイルを Node.js にロードし、テンプレート エンジンを使用してその中のプレースホルダーを置き換えます。

EJS テンプレート エンジンを使用すると、これを行うことができます。

const fs = require('fs');
const ejs = require('ejs');

const data = {
    title: '我的博客',
    heading: '欢迎来到我的博客',
    content: '这是我第一篇博客'
};

fs.readFile('template.html', 'utf-8', (err, template) => {
    if (err) throw err;
    const output = ejs.render(template, data);
    console.log(output);
});
ログイン後にコピー

この例では、fs.readFile を使用してファイルの内容を非同期的に読み取り、エンジン内の EJS テンプレート render メソッドを使用して、テンプレート ファイル内のプレースホルダーを置き換えます。最終的な HTML 出力はコンソールに出力されます。

  1. 文字列置換

文字列置換メソッドを使用すると、テンプレート ファイルを読み込まずにデータを柔軟に処理および変更できます。 Node.js で置き換えるテンプレートとデータを定義し、replace メソッドを使用してテンプレートのプレースホルダーを置き換えるだけです。

たとえば、次のテンプレート文字列を定義します:

const template = `
<!DOCTYPE html>
<html>
<head>
    <title>{{title}}</title>
</head>
<body>
    <h1>{{heading}}</h1>
    <p>{{content}}</p>
</body>
</html>
`;
ログイン後にコピー

次のコードを使用してデータ オブジェクトを定義し、文字列置換メソッドを使用してデータをテンプレートに挿入できます。

const data = {
    title: '我的博客',
    heading: '欢迎来到我的博客',
    content: '这是我第一篇博客'
};

const output = template.replace(/{{title}}/g, data.title)
    .replace(/{{heading}}/g, data.heading)
    .replace(/{{content}}/g, data.content);
console.log(output);
ログイン後にコピー

このプロセス中に、テンプレート文字列内のプレースホルダーを正規表現に置き換えました。最終出力では、プレースホルダーはデータ オブジェクト内の対応する値に置き換えられます。

  1. 関数の使用

関数を使用すると、データをより柔軟に処理でき、最終出力を動的に生成できます。データ オブジェクトをパラメーターとして受け取り、プレースホルダーを置き換えた後にテキスト出力を返す関数を定義できます。

たとえば、次の関数を定義できます:

function generateOutput(data) {
    return `
        <!DOCTYPE html>
        <html>
        <head>
            <title>${data.title}</title>
        </head>
        <body>
            <h1>${data.heading}</h1>
            <p>${data.content}</p>
        </body>
        </html>
    `;
}
ログイン後にコピー

この例では、データ オブジェクトをパラメータとして受け取り、そのデータを HTML に挿入する出力を生成する関数を定義します。文章。

次のコードを使用して、この関数を呼び出し、データ オブジェクトを渡すことができます。

const data = {
    title: '我的博客',
    heading: '欢迎来到我的博客',
    content: '这是我第一篇博客'
};

const output = generateOutput(data);
console.log(output);
ログイン後にコピー

このプロセスでは、関数がテンプレートを、テンプレートではなく動的に生成された出力に置き換えていることがわかります。静的な 1 つのテンプレート ファイルまたはテンプレート文字列。このアプローチにより、最終出力をより詳細に制御できると同時に、動的コンテンツの処理も容易になります。

概要

この記事では、Node.js のテンプレート エンジンを使用してテンプレート データを置換する 3 つの方法 (テンプレート ファイルの使用、文字列置換、関数の使用) を紹介します。さまざまな状況やニーズに適したアプローチが異なりますが、それらはすべて柔軟性、再利用性、使いやすさを提供します。

テンプレート エンジンと置換方法を選択するときは、データの処理方法、最終出力の制御方法、および動的コンテンツの処理方法を考慮する必要があります。 Node.js のテンプレート エンジンを使用すると、動的テキスト出力を簡単に処理および生成できるため、Web アプリケーションがより柔軟でスケーラブルになり、保守が容易になります。

以上がnodejsテンプレートの置き換えの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!