Home  >  Article  >  Web Front-end  >  How to write a web page in nodejs

How to write a web page in nodejs

PHPz
PHPzOriginal
2023-05-17 09:06:37783browse

Node.js is a very popular server-side JavaScript runtime environment that allows JavaScript developers to write programs on the server side. It is lightweight, efficient, and easy to expand, so it is widely used in server-side and mobile application development fields. In this article, we will introduce how to write web pages using Node.js.

  1. Installing Node.js

First, you need to install Node.js on your computer. You can download the version for your operating system from the official Node.js website (https://nodejs.org/en/download/).

  1. Creating a Web Server

Creating a web server in Node.js is very simple. Just import the HTTP module and create a server. The following is a simple example:

const http = require('http');

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello, world!');
});

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

The above code will create an HTTP server, start listening port 3000 on the server, and send "Hello, world!" to the web client.

  1. Handling requests and responses

We can use callback functions in Node.js to handle HTTP requests and responses. In the above example, the server will respond with "Hello, world!", but we can also customize the response to return an HTML page, JSON format, or other types of content. The following is an example of returning an HTML web page:

const http = require('http');

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.write('<html><body><h1>Hello, world!</h1></body></html>');
  res.end();
});

server.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

The above code will create an HTTP server and return an HTML page containing the "h1" tag, which contains the text "Hello, world!", and "Content- Type" header is set to "text/html".

  1. Using third-party modules

Node.js provides many commonly used modules, but to create a complete web application, you may need to use third-party modules. The following is an example of creating a web server using the Express framework in Node.js:

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

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

app.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

The above code will create an HTTP server based on the Express framework and send "Hello, world!" to the client.

  1. Using the template engine

You can easily create HTML pages using the template engine. Many template engines can be used with Node.js, such as EJS, Handlebars, Mustache, etc. The following is an example of using the EJS template engine to create a dynamic HTML page:

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

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

app.get('/', (req, res) => {
  const data = {
    title: 'Homepage',
    message: 'Hello, world!'
  };
  res.render('index', data);
});

app.listen(3000, () => {
  console.log('Server running at http://localhost:3000/');
});

The above code will use the EJS template engine to create a dynamic HTML page. On the page, we will render the title and message using the data from the "data" object.

Summary

In this article, we learned how to write a web server and handle HTTP requests and responses using Node.js. We also discussed how to use third-party modules and template engines to simplify web application development. As your skills improve, you can gradually master more advanced and complex features in Node.js to develop better web applications.

The above is the detailed content of How to write a web page in nodejs. For more information, please follow other related articles on the PHP Chinese website!

Statement:
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