Templating ใน Koa.js

Templating ใน Koa.js เป็นกระบวนการสร้างและแสดงหน้าเว็บที่ใช้รูปแบบ (template) สำหรับแสดงข้อมูลในหน้าเว็บไซต์ของคุณ มีหลายแพ็กเกจและตัวเลือกในการใช้ Templating ใน Koa.js อย่างรวดเร็ว, คำตอบนี้จะแนะนำใช้ koa-views และ nunjucks ในการสร้างและแสดงหน้าเว็บ:

  1. ติดตั้งแพ็กเกจ koa-views และ nunjucks:

    ใช้คำสั่ง npm เพื่อติดตั้งแพ็กเกจ koa-views และ nunjucks:

    1
    npm install koa-views nunjucks

    หรือถ้าคุณใช้ Yarn:

    1
    yarn add koa-views nunjucks
  2. กำหนด middleware สำหรับ koa-views:

    ในแอปพลิเคชัน Koa.js ของคุณ, ใช้ koa-views เป็น middleware และกำหนดการตั้งค่าของ Templating Engine (ในที่นี้เราใช้ nunjucks):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    const Koa = require('koa');
    const views = require('koa-views');
    const path = require('path');

    const app = new Koa();

    // กำหนด middleware สำหรับ koa-views
    app.use(views(path.join(__dirname, 'views'), {
    extension: 'njk', // รูปแบบของไฟล์แม่แบบ
    map: { njk: 'nunjucks' }, // ใช้ nunjucks เป็น Templating Engine
    }));

    // ตั้งค่า nunjucks หรือ Templating Engine ตามความต้องการ
    const nunjucks = require('nunjucks');
    nunjucks.configure(path.join(__dirname, 'views'), { autoescape: true });

    // กำหนด route สำหรับแสดงหน้าเว็บ
    app.use(async (ctx) => {
    await ctx.render('index', { title: 'Welcome', message: 'Hello, Koa.js!' });
    });

    app.listen(3000, () => {
    console.log('Server is running on port 3000');
    });
  3. สร้างแม่แบบ (Template):

    สร้างไฟล์แม่แบบ (template) ในโฟลเดอร์ views โดยใช้ส่วนของ Templating Engine ที่คุณได้กำหนด (ในที่นี้คือ nunjucks) เพื่อแสดงข้อมูลตามต้องการ:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <!-- views/index.njk -->
    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>{{ title }}</title>
    </head>
    <body>
    <h1>{{ message }}</h1>
    </body>
    </html>
  4. เรียกใช้แอปพลิเคชัน:

    เมื่อคุณรันแอปพลิเคชัน Koa.js และเข้าที่ http://localhost:3000, คุณจะเห็นหน้าเว็บที่แสดงข้อความ “Hello, Koa.js!” ที่ถูกแสดงผลจากแม่แบบ nunjucks.

นี่คือวิธีการใช้ Templating ใน Koa.js โดยใช้ koa-views และ nunjucks. คุณสามารถปรับแต่งแม่แบบและการแสดงผลข้อมูลตามความต้องการของโปรเจกต์ของคุณ.