📜  使用 EJS 的 Node.js 服务器端渲染 (SSR)

📅  最后修改于: 2022-05-13 01:56:47.489000             🧑  作者: Mango

使用 EJS 的 Node.js 服务器端渲染 (SSR)

服务器端渲染 (SSR)是一种流行的技术,用于在服务器上渲染通常只有客户端的单页应用程序 (SPA),然后将完全渲染的页面发送到客户端。然后客户端的 JavaScript 包可以接管,SPA 可以正常运行。
SSR 技术在客户端互联网连接速度较慢的情况下很有帮助,然后在客户端渲染整个页面需要太多时间,在某些情况下,服务器端渲染可能会派上用场。用于在 Node.js 中进行服务器端渲染的广泛使用的模块之一是 EJS 模块。 EJS 代表嵌入式 JavaScript 模板。

EJS模块特点:

  1. 使用纯 JavaScript。
  2. 快速的开发时间。
  3. 简单的语法。
  4. 更快的执行。
  5. 易于调试。
  6. 积极发展。

请求模块的安装:

1.首先使用npm install安装express js和ejs。您也可以访问此链接以了解有关 EJS 的更多信息。

npm install ejs

2. require() 方法用于加载和缓存 JavaScript 模块。

const ejs = require('ejs');

3. 下一步是创建一个文件夹并添加一个文件名 app.js 和一个名为 index.ejs 的文件。注意,关于索引文件的语法,这里是 ejs 表示它是一个 ejs 文件。要运行此文件,您需要以下命令。

node app.js

使用 EJS 的 renderFIle() 方法渲染文件
为了执行服务器端渲染,我们使用 ejs 模块的 renderFile() 方法,它帮助我们在服务器端渲染 ejs 文件。

句法:

ejs.renderFile( fileName, { }, { }, callback);

在这里,回调函数接受两个参数,首先是一个错误(如果发生错误,则 renderFile 返回一个错误),在成功渲染时返回一个模板。

文件名:app.js

Javascript
// Requiring modules
const express = require('express');
const app = express();
const ejs = require('ejs');
var fs = require('fs');
const port = 8000;
   
// Render index.ejs file
app.get('/', function (req, res) {
   
    // Render page using renderFile method
    ejs.renderFile('index.ejs', {}, 
        {}, function (err, template) {
        if (err) {
            throw err;
        } else {
            res.end(template);
        }
    });
});
   
// Server setup
app.listen(port, function (error) {
    if (error)
        throw error;
    else
        console.log("Server is running");
});


HTML


   

    
    

   

    

Hello World

   


文件名:index.ejs

HTML



   

    
    

   

    

Hello World

   

运行程序的步骤:

1.文件夹结构:

2. 确保您已使用以下命令安装了 express 和 request 模块:

npm install express
npm install ejs

3. 使用以下命令运行app.js

node app.js

启动节点服务器

4. 现在在浏览器中输入localhost:8000以显示 ejs 页面以查看以下结果:

浏览器中的结果