21xrx.com
2024-12-22 17:24:29 Sunday
登录
文章检索 我的文章 写文章
Node.js搭建简单博客网站
2023-07-10 18:03:50 深夜i     --     --
Node js 博客 网站搭建 简单 搭建

Node.js是一个基于Chrome V8 JavaScript引擎运行的开源、跨平台的JavaScript运行时。它可以用于服务器端开发,特别适合构建高并发、实时性要求高的应用程序。本文将介绍如何使用Node.js搭建一个简单博客网站。

1. 安装Node.js

首先,需要在服务器上安装Node.js。可以从官方网站(https://nodejs.org/)下载安装程序,或使用命令行安装工具安装。

2. 初始化项目

在项目文件夹中打开命令行,运行以下命令:


npm init

这将引导您创建一个新的Node.js项目,并初始化一个package.json文件。

3. 安装必需的包

安装Express和其他必需的包:


npm install express body-parser ejs multer --save

Express是一个流行的Web应用程序框架,body-parser是一个中间件,用于解析HTTP请求正文,ejs是一种模板引擎,用于生成网页,multer是一种中间件用于处理与multipart /身体数据相关的请求(例如,上传图像)。

4. 创建应用程序架构

在应用程序的根目录下创建一个名为“app.js”的文件,并输入以下内容:


var express = require('express');

var bodyParser = require('body-parser');

var ejs = require('ejs');

var multer = require('multer');

var app = express();

app.use(bodyParser.json());

app.use(bodyParser.urlencoded({ extended: true }));

app.use(multer({ dest: './uploads/' }).any());

app.set('views', __dirname + '/views');

app.set('view engine', 'ejs');

app.use(express.static(__dirname + '/public'));

var routes = require('./routes.js')(app);

var server = app.listen(8000, function () {

  console.log('Listening on port %s...', server.address().port);

});

这里创建了一个Express应用程序,添加了BodyParser和Multer中间件,设置了EJS模板引擎和一个静态文件夹。

5. 创建路由

接下来,创建一个名为“routes.js”的文件,并添加以下路由:


module.exports = function(app) {

  app.get('/', function (req, res) {

    res.render('index');

  });

  app.get('/post/:id', function (req, res) {

    var post =

      title: 'Post Title';

    res.render('post', { post: post });

  });

  app.get('/newpost', function (req, res) {

    res.render('newpost');

  });

  app.post('/newpost', function (req, res) {

    console.log(req.body);

    res.redirect('/');

  });

};

这里创建了三个路由:主页,帖子和新帖子。在新帖子路由中,打印输出POST请求正文,然后重定向到主页。

6.创建视图文件

在项目目录下创建一个名为“views”的文件夹,并在其中创建以下视图文件:

index.ejs:


<!DOCTYPE html>

<html>

<head>

  <title>Simple Blog</title>

</head>

<body>

  <h1>Simple Blog</h1>

  <p>Welcome to my simple blog!</p>

  <hr>

  <ul>

    <li><a href="/post/1">Post Title</a></li>

    <li><a href="/post/2">Post Title 2</a></li>

  </ul>

  <hr>

  <a href="/newpost">New Post</a>

</body>

</html>

post.ejs:


<!DOCTYPE html>

<html>

<head>

  <title><%= post.title %></title>

</head>

<body>

  <h1><%= post.title %></h1>

  <hr>

  <p><%= post.content %></p>

</body>

</html>

newpost.ejs:


<!DOCTYPE html>

<html>

<head>

  <title>New Post</title>

</head>

<body>

  <h1>New Post</h1>

  <hr>

  <form action="/newpost" method="POST">

    <input type="text" name="title" placeholder="Title"><br>

    <textarea name="content" placeholder="Content"></textarea><br>

    <input type="submit" value="Save">

  </form>

</body>

</html>

这里创建的三个视图是用于渲染相应路由的网页。主页显示博客文章的列表,帖子页面显示指定帖子的内容,新的帖子页面允许用户提交新的帖子。

7. 运行应用程序

最后,运行应用程序:在命令行中输入以下命令:


node app

这将启动应用程序,并在端口8000上侦听连接。

现在,在您的浏览器中访问http://localhost:8000,您应该可以在主页上看到博客文章的列表。单击其中一个文章的链接,您将被重定向到包含该文章内容的网页。通过单击“New Post”按钮,您将被带到一个表单,该表单允许您提交新的博客文章。

这就完成了一个简单的博客网站的搭建!

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复