>  기사  >  웹 프론트엔드  >  nodejs는 라우팅을 설정합니다

nodejs는 라우팅을 설정합니다

WBOY
WBOY원래의
2023-05-14 10:23:071127검색

프론트엔드 기술의 급속한 발전으로 인해 백엔드 개발에 관심을 갖는 사람들이 늘어나고 있습니다. 경량 백엔드 프레임워크인 Node.js는 점점 더 많은 개발자에 의해 인식되고 사용되고 있습니다.

Node.js에서는 라우팅 설정이 매우 중요한 부분입니다. 라우팅은 요청을 처리해야 하는 핸들러를 결정합니다. 이 문서에서는 라우팅을 설정하는 방법을 자세히 설명합니다.

1. Node.js 설치

라우팅 설정을 시작하기 전에 먼저 Node.js를 설치해야 합니다. Node.js는 공식 웹사이트에서 다운로드하여 설치할 수 있습니다.

설치가 완료된 후 명령줄에 다음 명령을 입력하여 Node.js 버전을 확인하세요.

node -v

2. server.js 파일 생성

Node.js에서는 서버를 생성해야 합니다. Node.js 파일을 사용하여 서버를 시작하고 라우팅을 설정합니다. 이 파일에서는 http 모듈을 도입하고 서버 인스턴스를 생성해야 합니다.

다음은 기본 server.js 파일입니다.

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

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

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

위 파일에서는 서버 인스턴스를 생성하고 서버의 IP 주소와 포트 번호를 설정합니다. 또한 요청이 들어올 때 "Hello, World!" 응답을 보내는 처리 기능을 이 서버에 추가했습니다.

다음 명령을 사용하여 명령줄에서 서버를 시작할 수 있습니다:

node server.js

3. 라우팅 설정

라우팅 설정의 주요 목적은 서버가 요청 경로에 따라 해당 핸들러를 호출할 수 있도록 하는 것입니다. 다른 요청이 들어올 때.

이 목적을 달성하려면 라우팅 테이블을 정의해야 합니다. 라우팅 테이블은 키가 요청의 경로이고 값이 핸들러 기능인 객체입니다.

다음은 간단한 라우팅 테이블입니다.

const routes = {
  '/': homeHandler,
  '/about': aboutHandler,
  '/contact': contactHandler
};

이 라우팅 테이블에서는 '/', '/about' 및 '/contact'의 세 가지 경로를 정의합니다. 각 경로는 핸들러 함수와 연결됩니다.

다음으로 핸들러를 정의해야 합니다. 핸들러는 다양한 요청을 처리하는 함수입니다. 예를 들어 핸들러는 HTML 페이지를 보내거나, 데이터베이스를 읽거나, API를 호출할 수 있습니다.

다음은 간단한 핸들러입니다.

const homeHandler = (req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.end('<h1>Welcome to my homepage!</h1>');
};

const aboutHandler = (req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.end('<h1>About me</h1><p>I am a Node.js developer.</p>');
};

const contactHandler = (req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.end('<h1>Contact me</h1><p>You can contact me at nodejs@example.com.</p>');
};

각 핸들러는 요청이 도착할 때 요청을 올바르게 처리할 수 있도록 HTTP 상태 코드, 응답 헤더 및 응답 본문을 설정합니다.

이제 라우팅 테이블을 핸들러와 연결해야 합니다. 서버 생성 기능에 라우팅 기능을 추가하여 라우팅 처리를 구현할 수 있습니다.

전체 경로 처리 코드는 다음과 같습니다.

const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const routes = {
  '/': homeHandler,
  '/about': aboutHandler,
  '/contact': contactHandler
};

const homeHandler = (req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.end('<h1>Welcome to my homepage!</h1>');
};

const aboutHandler = (req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.end('<h1>About me</h1><p>I am a Node.js developer.</p>');
};

const contactHandler = (req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/html');
  res.end('<h1>Contact me</h1><p>You can contact me at nodejs@example.com.</p>');
};

const server = http.createServer((req, res) => {
  const url = req.url;
  if (routes[url]) {
    routes[url](req, res);
  } else {
    res.statusCode = 404;
    res.setHeader('Content-Type', 'text/plain');
    res.end('404 - Not found');
  }
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});

이 코드에서는 라우팅 테이블을 핸들러와 연결합니다. 요청이 도착하면 요청 경로를 라우팅 테이블과 일치시킵니다. 일치가 성공하면 적절한 핸들러를 호출합니다. 일치하는 항목이 없으면 응답으로 404 오류가 전송됩니다.

4. 요약

Node.js에서 라우팅 설정은 매우 중요한 부분입니다. 라우팅은 요청을 처리할 핸들러를 결정하는 핵심 요소입니다.

이 문서에서는 라우팅을 설정하는 방법을 자세히 설명합니다. 이 기사를 읽으면 독자는 서버를 생성하고, 라우팅 테이블과 핸들러를 정의하고, 연결하는 방법을 이해할 수 있습니다.

Node.js는 유연하고 배우기 쉬운 백엔드 프레임워크로서 개발 효율성과 개발자 기술 수준을 향상시키는 데 매우 도움이 됩니다.

위 내용은 nodejs는 라우팅을 설정합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.