使用Node.js运行时、Express框架和EJS模板引擎构建快速、可扩展的Web应用程序

技术栈概述

Node.js、Express和EJS共同构成了一个强大而灵活的Web开发技术栈,适用于构建各种规模的Web应用程序。

🟢

Node.js

基于Chrome V8引擎的JavaScript运行时,用于构建快速、可扩展的网络应用程序。

🚀

Express

快速、开放、极简的Node.js Web框架,提供强大的功能来开发Web和移动应用程序。

📄

EJS

高效的JavaScript模板引擎,使用简单的模板语法生成HTML标记。

核心功能特性

高性能

Node.js的非阻塞I/O模型和事件驱动架构使其能够处理大量并发连接,提供卓越的性能。

🛠️ 中间件架构

Express的中间件架构允许您轻松添加功能,如身份验证、日志记录、数据解析等。

📝 模板引擎

EJS提供简单的模板语法,允许您在HTML中嵌入JavaScript代码,动态生成内容。

📦 模块化

Node.js的模块系统使代码组织变得简单,可以轻松重用和共享代码。

🔧 易于扩展

通过NPM生态系统,可以轻松添加各种功能模块,快速扩展应用程序功能。

🌐 全栈JavaScript

使用相同的语言进行前端和后端开发,提高开发效率并减少上下文切换。

代码示例

app.js - Express服务器设置
// 引入所需模块 const express = require('express'); const path = require('path'); // 创建Express应用 const app = express(); const PORT = process.env.PORT || 3000; // 设置EJS为模板引擎 app.set('view engine', 'ejs'); app.set('views', path.join(__dirname, 'views')); // 设置静态文件目录 app.use(express.static(path.join(__dirname, 'public'))); // 解析请求体 app.use(express.urlencoded({ extended: true })); app.use(express.json()); // 定义路由 app.get('/', (req, res) => { res.render('index', { title: '首页', message: '欢迎使用Node.js + Express + EJS!' }); }); // 启动服务器 app.listen(PORT, () => { console.log(`服务器运行在 http://localhost:${PORT}`); });
views/index.ejs - EJS模板示例
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title><%= title %></title> <link rel="stylesheet" href="/css/style.css"> </head> <body> <header> <h1><%= title %></h1> </header> <main> <div class="container"> <h2><%= message %></h2> <!-- EJS条件语句 --> <% if (user) { %> <p>欢迎, <%= user.name %>!</p> <% } else { %> <p>请<a href="/login">登录</a></p> <% } %> <!-- EJS循环 --> <ul> <% items.forEach(function(item) { %> <li><%= item.name %></li> <% }); %> </ul> </div> </main> <footer> <p>© 2023 我的应用</p> </footer> </body> </html>

开始使用

按照以下步骤快速搭建您的第一个Node.js + Express + EJS应用程序

终端命令
# 创建项目目录 mkdir my-app cd my-app # 初始化npm项目 npm init -y # 安装依赖 npm install express ejs # 创建目录结构 mkdir views public public/css public/js # 创建app.js文件 touch app.js # 启动应用 node app.js
查看完整文档 下载示例代码