node+express+ejs使用模版引擎做的一个示例demo

yizhihongxing

下面是详细讲解“node+express+ejs使用模版引擎做的一个示例demo”的完整攻略。

什么是Node.js

Node.js是一个基于Chrome V8 JavaScript引擎的开源、跨平台的JavaScript运行环境。它可以使JavaScript在服务器端运行,用于构建快速的网络应用程序。

什么是Express

Express是一个基于Node.js平台的极简、灵活的Web应用开发框架,提供丰富的HTTP工具和插件,可以用来构建各种Web应用、RESTful API等。

什么是EJS

EJS是一款嵌套式的JavaScript模板引擎,可以通过使用JavaScript代码来构建HTML页面和其他格式的文档。

步骤

  1. 安装必要的软件:Node.js、Express、EJS。

$npm install node express ejs -save

  1. 创建项目目录并进入:

$mkdir node-demo

$cd node-demo

  1. 初始化项目:

$npm init

  1. 创建Express服务器并引入EJS:

const express = require('express');
const app = express();

// 设置ejs为模板引擎
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');

  1. 编写首页面和路由:

app.get('/', function(req, res) {
const data = {
title: 'Node.js、Express和EJS的使用示例',
author: '网站作者'
};
res.render('index', data);
});

  1. 创建ejs模板,用于显示数据:




<%= title %>

<%= title %>

作者:<%= author %>


  1. 启动服务器:

$node app.js

  1. 打开浏览器,输入http://localhost:3000/,即可看到显示数据的网页。

示例说明

示例一:使用EJS模板引擎显示数据

以上面的步骤为基础,我们在示例一中使用EJS模板引擎来显示数据。在node-demo/views/目录下新建list.ejs文件,内容如下:




<%= title %>


<% if (users.length) { %>

    <% users.forEach(function(user) { %>

  • <%= user %>
  • <% }); %>

<% } else { %>

No users :(

<% } %>

然后在app.js中新建/list路由,用于向模板引擎中传递数组数据并进行渲染:

app.get('/list', function(req, res) {
const users = ['user1', 'user2', 'user3'];
const data = {
title: 'Node.js、Express和EJS的使用示例',
users: users
};
res.render('list', data);
});

启动服务器并访问http://localhost:3000/list,即可看到渲染后的页面。

示例二:使用EJS模板引擎继承

在EJS模板引擎中,可以使用继承来避免代码重复。例如,在node-demo/views/目录下新建layout.ejs文件,用于展示重复的HTML代码,内容如下:





<%= title %>


<%- include('header') -%>

<%- body -%>

<%- include('footer') -%>

node-demo/views/目录下新建index.ejs文件,继承layout.ejs,内容如下:

<% layout('layout') %>

<%= title %>

作者:<%= author %>

然后,在node-demo/views/目录下新建header.ejsfooter.ejs文件,用于描述HTML代码的头和尾内容:

© 2021 Node Demo

启动服务器并访问http://localhost:3000/,即可看到渲染后的页面,其中包含了继承和不重复的HTML代码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:node+express+ejs使用模版引擎做的一个示例demo - Python技术站

(0)
上一篇 2023年6月8日
下一篇 2023年6月8日

相关文章

  • 详解nodejs模板引擎制作

    详解Node.js模板引擎制作 什么是模板引擎 模板引擎是一种将数据和模板文本结合起来产生新文本的工具。模板引擎允许我们使用模板文本生成我们需要的HTML、XML、JSON等格式的文本。互联网浏览器解析HTML是一件非常耗费性能的事情,而且HTML中可以嵌入静态资源、样式、脚本等,模板引擎可以将大量的相同或类似的内容进行复用,让前端渲染部分变得更加灵活和高效…

    node js 2023年6月8日
    00
  • Node.js 网络框架koa compose中间件使用解析

    下面就是讲解”Node.js 网络框架koa compose中间件使用解析”的完整攻略。 一、koa compose中间件的概念 在koa中,middleware(中间件)是指在请求被处理前,对请求进行操作的函数。每个中间件都能处理请求,并且能够通过调用next()函数将控制权交给下一个中间件。Koa-compose是koa的一个中间件组合工具,用于将多个函…

    node js 2023年6月8日
    00
  • 基于JavaScript实现一个简单的Vue

    下面我将为你详细讲解“基于JavaScript实现一个简单的Vue”的完整攻略。 什么是Vue Vue是一个渐进式的JavaScript框架,它被设计用于构建大型单页应用(SPA)。Vue提供组件化的开发模式,使得代码结构更加清晰易懂,提高开发效率,降低维护成本。 Vue的核心概念 在我们开始实现一个简单的Vue之前,先让我们了解一下Vue的核心概念: 数据…

    node js 2023年6月8日
    00
  • nodejs如何获取指定路径下所有的文件夹名或类型

    首先,我们需要使用Node.js中的fs和path核心模块来获取指定路径下的文件夹名或类型。 获取指定路径下所有文件夹名称 通过fs.readdir()方法可以读取指定路径下的所有文件和文件夹名称,但是需要注意的是,readdir()读取到的名称包括文件和文件夹,我们需要通过fs.stat()方法来判断哪些是文件夹。 const fs = require(‘…

    node js 2023年6月8日
    00
  • nginx返回json或者文本格式的方法

    当使用Nginx作为Web服务器时,我们可以使用Nginx的内置模块来返回Json或者文本格式的内容,下面是详细的攻略步骤: 1. 配置Nginx 在Nginx的配置文件中,我们需要配置一个location来指定需要返回Json或者文本格式的url地址,例如: location /api/example { add_header Content-Type ‘…

    node js 2023年6月8日
    00
  • js AppendChild与insertBefore用法详细对比

    当我们要向HTML页面中增加新的元素节点时,可以使用JS的appendChild和insertBefore方法。两者都可以用于向一个父元素节点中添加一个子元素节点,但有些细节不同。下面是对比它们的用法的详细攻略。 使用appendChild方法 appendChild方法是用于在一个元素节点的子节点列表的末尾添加一个新的子元素节点。其语法如下: parent…

    node js 2023年6月8日
    00
  • Nest.js系列之Providers及模块功能使用详解

    让我为你详细讲解“Nest.js系列之Providers及模块功能使用详解”。 一、Providers及模块功能介绍 Nest.js是一个基于Node.js的Web框架,它使用了现代化的技术,帮助我们快速地开发可伸缩且易于维护的Web应用程序。其中,Providers及模块功能是其核心机制之一。下面,我们就来一一了解。 1. Providers 在Nest.…

    node js 2023年6月8日
    00
  • 常见的JavaScript内存错误及解决方法

    以下是详细的攻略: 常见的JavaScript内存错误及解决方法 在编写JavaScript代码时,会经常遇到一些内存错误。这些错误往往会导致程序崩溃,甚至发生安全漏洞。本文将介绍一些常见的JavaScript内存错误及其解决方法。 1. 内存泄漏 内存泄漏是指程序在使用完内存后没有释放,导致内存资源浪费。JavaScript作为一种解释性语言,垃圾回收机制…

    node js 2023年6月8日
    00
合作推广
合作推广
分享本页
返回顶部