当前位置:首页 > javascript > nodejs > 正文内容

构建Node.js Web 应用:使用Express、EJS 和 Mongoose

hxing6411年前 (2023-11-07)nodejs3810

在本篇博客文章中,我们将介绍如何使用Node.js的Express框架、EJS模板引擎和Mongoose库来构建一个简单的Web应用实例。

通过代码示例和详细解释,帮助读者了解如何结合这些工具来构建一个完整的Node.js Web 应用。


1. 准备工作

首先,确保你已经安装了Node.js和npm(Node.js 的包管理工具)。

然后创建一个新的文件夹作为我们的项目目录,并在命令行中执行以下命令,初始化一个新的Node.js项目:


npm init -y


2. 安装依赖

接下来,我们需要安装Express、EJS和Mongoose作为我们项目的依赖:


npm install express ejs mongoose


3. 创建Express 应用

在项目目录下创建一个名为app.js的文件,并编写以下代码:


const express = require('express');
const app = express();
const port = 3000;
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
  res.render('index', { title: 'Express + EJS + Mongoose Example' });
});
app.listen(port, () => {
  console.log(`App listening at http://localhost:${port}`);
});


4. 创建EJS视图

在项目目录下创建一个名为views的文件夹,并在其中创建一个名为index.ejs的文件,编写以下代码:


<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title><%= title %></title>
</head>
<body>
  <h1>Welcome to <%= title %></h1>
</body>
</html>


5. 使用Mongoose连接数据库

在app.js中添加Mongoose连接数据库的代码:


const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/mydb', {useNewUrlParser: true, useUnifiedTopology: true})
  .then(() => {
    console.log('Connected to the database');
  })
  .catch((err) => {
    console.error('Error connecting to the database', err);
  });


代码示例

// 完整的app.js代码
const express = require('express');
const mongoose = require('mongoose');
const app = express();
const port = 3000;
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
  res.render('index', { title: 'Express + EJS + Mongoose Example' });
});
mongoose.connect('mongodb://localhost:27017/mydb', {useNewUrlParser: true, useUnifiedTopology: true})
  .then(() => {
    console.log('Connected to the database');
  })
  .catch((err) => {
    console.error('Error connecting to the database', err);
  });
app.listen(port, () => {
  console.log(`App listening at http://localhost:${port}`);
});


<!-- 完整的index.ejs代码 -->
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title><%= title %></title>
</head>
<body>
  <h1>Welcome to <%= title %></h1>
</body>
</html>


总结

通过本文的介绍,我们学习了如何使用Node.js的Express框架、EJS模板引擎和Mongoose库来构建一个简单的Web应用实例。

通过这个示例,我们可以了解到如何快速搭建一个Node.js Web 应用的基本流程,以及如何使用EJS进行页面渲染,Mongoose进行数据库连接。


希望读者能够通过本文对Node.js的Web开发有更深入的了解,并能够在实际项目中灵活运用这些技术,构建出更加强大和可维护的Web应用。


扫描二维码推送至手机访问。

版权声明:本文由星星博客发布,如需转载请注明出处。

本文链接:https://xingxinghan.cn/?id=453

分享给朋友:

“构建Node.js Web 应用:使用Express、EJS 和 Mongoose” 的相关文章

nodejs保存文件,不存在则自动创建目录

            const absolutePath = path.resolve(outputPath);   &nb...

nodejs 解压文件,当文件名为中文名时会出现乱码

一开始我是使用compressing 去解压的,后面一直出现乱码,于是换了个解压的包 yauzl 具体实现步骤:安装npm install yauzl   2. 封装了个解压文件方法function unzip(zipFileName, output...

nodejs websocket 发送protoBuf数据到服务端

当使用Node.js进行WebSocket通信时,发送经过Protobuf编码的数据到服务端是一个常见的需求。在这篇博客中,我们将通过一个示例来演示如何实现这个功能。假设我们有一个WebSocket服务端,地址为ws://example.com/ws我要发送pb_http_frame中的Reques...

深入理解Node.js进程管理

在Node.js中,进程管理是一个非常重要的话题,它涉及到如何创建、控制和监测进程,以及如何利用多核处理器。本文将深入探讨Node.js中的进程管理,并通过详细的代码示例帮助读者更好地理解。 1. 什么是进程? 首先,让我们了解一下...

nodejs 文件操作类的封装

最近做node项目,操作文件特别不方便,于是封装了工具类挺好用的,分享给大家 const fs = require('fs') const path = require('path') /** &nb...

npm安装时报错,出现 certificate has expired

最近使用npm安装工具屡屡报错,大致显示为:npm ERR! request to https://registry.npm.taobao.org/cnpm failed, reason: certificate has expired.从报错信息就可以知道是因为你之前设置的淘宝镜像已过期,解决方法...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。