Home > Web Front-end > JS Tutorial > body text

How to build a simple blog reader using Node.js

WBOY
Release: 2023-11-08 20:36:32
Original
1185 people have browsed it

How to build a simple blog reader using Node.js

How to use Node.js to build a simple blog reader

Introduction:
With the rapid development of the Internet, blogs have become a way for people to record their lives and share their lives. One of the important ways of knowledge. To build a simple blog reader, we can use Node.js and some open source technologies to achieve this goal. This article will introduce how to use Node.js to build a simple blog reader and provide specific code examples.

Step 1: Install Node.js and related tools
First, we need to install Node.js and npm (Node.js package management tool) on the computer. Download the installation package suitable for your operating system from the Node.js official website (https://nodejs.org/) and install it according to the instructions. After the installation is complete, we can enter node -v and npm -v on the command line to confirm whether Node.js and npm have been successfully installed.

Step 2: Create the project folder
In the command line, switch to the directory where you want to create the project, and enter the following command to create a new project folder:

mkdir blog-reader
Copy after login

Then , enter the project folder:

cd blog-reader
Copy after login

Step 3: Initialize the project
In the project folder, enter the following command to initialize a new Node.js project:

npm init -y
Copy after login

This command will Create a package.json file to manage project dependencies and configuration.

Step 4: Install Express.js
Express.js is a popular Node.js web application framework that we will use to build the backend of the blog reader. In the command line, enter the following command to install Express.js:

npm install express
Copy after login

Step 5: Create a server
Create a file named index.js in the project folder, and Enter the following code:

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

app.get('/', (req, res) => {
  res.send('Hello World!');
});

app.listen(port, () => {
  console.log(`Server is listening on port ${port}`);
});
Copy after login

This code creates an Express application and listens for requests on port 3000. When accessing the root path, the server will return a string "Hello World!".

Step 6: Run the server
In the command line, enter the following command to run the server:

node index.js
Copy after login
Copy after login

If everything is normal, you will see the following output:

Server is listening on port 3000
Copy after login

Now, you can visit http://localhost:3000 in your browser and you will see "Hello World!".

Step 7: Install the EJS template engine
EJS (Embedded JavaScript) is a simple template engine that we will use to render the view of the blog post. In the command line, enter the following command to install EJS:

npm install ejs
Copy after login

Step 8: Create a view template
Create a folder named views in the project folder, and place it in the Create a file named index.ejs in the folder. Enter the following code as the view template:

<!DOCTYPE html>
<html>
<head>
  <title>博客阅读器</title>
</head>
<body>
  <h1>博客阅读器</h1>
  <ul>
    <% for(let i=0; i<articles.length; i++) { %>
      <li><a href="/articles/<%= articles[i].id %>"><%= articles[i].title %></a></li>
    <% } %>
  </ul>
</body>
</html>
Copy after login

This code uses EJS syntax to render the article list. We will add data and render the view in later steps.

Step 9: Add routes and controllers
Add the following code in the index.js file:

const articles = [
  {
    id: 1,
    title: 'Node.js入门指南',
    content: '...'
  },
  {
    id: 2,
    title: 'Express.js实践指南',
    content: '...'
  }
];

app.get('/articles', (req, res) => {
  res.render('index', { articles });
});

app.get('/articles/:id', (req, res) => {
  const id = req.params.id;
  const article = articles.find(article => article.id === parseInt(id));

  if (article) {
    res.render('article', { article });
  } else {
    res.send('文章不存在');
  }
});
Copy after login

This code defines two routes. When accessing the /articles path, the server will render the index.ejs view and pass the list of articles as a parameter to the view. When the /articles/:id path is accessed, the server will look for the article with the specified ID and render the article.ejs view.

Step 10: Create article view template
Create a file named article.ejs in the views folder and enter the following code as the article view Template:

<!DOCTYPE html>
<html>
<head>
  <title><%= article.title %></title>
</head>
<body>
  <h1><%= article.title %></h1>
  <article><%= article.content %></article>
</body>
</html>
Copy after login

This code uses EJS syntax to render the title and content of a single article.

Step 11: Run the server
In the command line, enter the following command to re-run the server:

node index.js
Copy after login
Copy after login

Now, you can visit http:// in the browser localhost:3000/articles, you will see a list containing the titles of two articles. Clicking on the title will jump to the corresponding article page and display the title and content of the article.

Summary:
This article introduces how to build a simple blog reader by using Node.js and some open source technologies. We use Express.js as the back-end framework and EJS as the template engine to implement page rendering and data delivery through routing and controllers. This is just a simple example that you can extend and optimize according to your needs. I hope this article can help you get a preliminary understanding of how to use Node.js to build a simple blog reader.

The above is the detailed content of How to build a simple blog reader using Node.js. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template