>백엔드 개발 >Golang >Node.js 기반의 Golang 학습 웹 애플리케이션 구축

Node.js 기반의 Golang 학습 웹 애플리케이션 구축

王林
王林원래의
2023-06-24 09:34:241120검색

Node.js를 기반으로 웹 애플리케이션 구축을 배우는 Golang

인터넷 기술의 급속한 발전과 함께 웹 애플리케이션은 점차 대기업과 기술 인력의 주요 관심 분야로 자리잡고 있습니다. 고성능 프로그래밍 언어로서 Golang은 점점 더 많은 사람들이 찾고 있습니다. 이 기사에서는 Golang과 Node.js를 사용하여 기본 웹 애플리케이션을 구축하는 방법을 소개합니다.

1. 환경 준비

빌드를 시작하기 전에 다음 두 가지 환경을 설치해야 합니다.

  1. Golang 환경

공식 웹사이트에서 Golang 설치 패키지를 다운로드하고 설치 후 GOPATH 및 GOROOT를 구성합니다.

  1. Node.js 환경

공식 웹사이트에서 Node.js 설치 패키지를 다운로드하세요. 설치 후 npm 명령줄 도구를 통해 express, ejs, body-parser 모듈을 설치하고 MongoDB 데이터베이스를 설치하세요.

2. 웹 프레임워크 구축

  1. 템플릿 초기화

Golang 환경에서 다음 명령줄을 통해 템플릿을 초기화합니다.

go mod init {project_name}

여기서 {project_name}은 프로젝트 이름입니다. 이 명령을 실행하면 다음 내용을 포함해야 하는 go.mod 파일이 생성됩니다.

module {project_name}

go 1.16

  1. 기본 애플리케이션 생성

프로젝트 폴더에서 기본 애플리케이션을 생성합니다. .go 파일은 기본 애플리케이션의 진입점입니다.

package main

import (

   "github.com/gin-gonic/gin"
   "net/http"
   "log"

)

func main() {

   router := gin.Default()
   router.GET("/", func(c *gin.Context) {
       c.String(http.StatusOK, "Hello World")
   })
   err := router.Run(":8080")
   if err != nil {
       log.Fatal("服务器启动失败")
   }

}

여기에서는 gin 프레임워크가 웹 애플리케이션 프레임워크로 사용됩니다. 메인 코드 로직은 a를 통해 "Hello World"를 반환하는 것입니다. "String.Route"에 대한 GET 요청입니다. 마지막으로 router.Run() 함수를 사용하여 웹 애플리케이션을 시작하고 시작 실패 여부를 기록합니다.

  1. 정적 페이지 만들기

프로젝트 폴더에 정적 HTML 파일과 기타 리소스 파일을 저장할 공용 폴더를 만듭니다. 다음 코드를 사용하여 public 폴더에 index.html 파일을 생성합니다. 프로젝트 폴더에

100db36a723c770d327fc0aef2ce13b1

   <head> 
       <title>Golang学习之基于Node.js的Web应用程序搭建</title>
   </head> 
   <body> 
       <h1>Hello World</h1> 
   </body> 

73a6ac4ed44ffec12cee46588e518a5e

뷰 생성
  1. EJS 보기 파일 및 기타 리소스 파일을 저장하는 views 폴더입니다. 다음 코드를 사용하여 views 폴더에 index.ejs 파일을 만듭니다.

8b05045a5be5764f313ed5b9168a17e6

100db36a723c770d327fc0aef2ce13b1

   <head>
       <title>Golang学习之基于Node.js的Web应用程序搭建</title>
   </head>
   <body>
       <h1>Hello World</h1>
       <p><%= message %></p>
   </body>

73a6ac4ed44ffec12cee46588e518a5e

프로젝트 폴더에 경로
  1. 만들기 라우팅 파일을 저장하기 위한 경로 폴더입니다. 다음 코드를 사용하여 경로 폴더에 index.js 파일을 만듭니다.

var express = require('express');

var router = express.Router();


/

GET 홈 페이지. get('/', function(req, res, next) {

   res.render('index', { message: '欢迎访问Golang学习之基于Node.js的Web应用程序搭建' });
});
module.exports = router;

Express는 웹 애플리케이션 프레임워크로 사용되며 라우팅 기능은 res.render( )를 사용합니다. 함수는 EJS 파일을 렌더링하고 궁극적으로 메시지를 뷰 파일에 전달합니다.

애플리케이션 실행

    다음 코드를 사용하여 프로젝트 폴더에 app.js 파일을 만듭니다.
  1. var express = require('express');
var path = require('path');

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

var indexRouter = require('./routes/index');

var app = express();

app.set('views', path.join (__dirname) , 'views'));

app.set('view 엔진', 'ejs');

app.use(express.json());

app.use(express.urlencoded({ 확장: false }) );
app.use(bodyParser.json());

app.use(bodyParser.urlencoded({ 확장: false }));

app.use(express.static(path.join(__dirname, 'public ') ));

app.use('/', indexRouter);

app.listen(3000, function () {

   console.log('Golang学习之基于Node.js的Web应用程序搭建已启动,端口为3000');

});

여기에서는 Express 프레임워크가 사용되었으며 뷰 엔진은 EJS로 설정되었습니다. , 포트 3000을 수신하는 동안 마지막으로 app.listen() 함수를 사용하여 애플리케이션을 시작합니다.

최종 프로젝트 파일 구조는 다음과 같습니다.

project_name

├─go.mod

├─main.go

├─app.js

├─public
│ └index.html
├─routes
│ └index .js
└─views

   └index.ejs

3. 데이터베이스에 연결

MongoDB 데이터베이스 설치

    MongoDB 데이터베이스를 설치한 후 다음 명령줄을 통해 데이터베이스에 연결합니다.
  1. mongo

생성한 후 데이터베이스

    데이터베이스에 연결한 후 다음 명령줄을 사용하세요. 명령줄에서 데이터베이스를 생성하세요.
  1. use {database_name}

여기서 {database_name}은 데이터베이스 이름입니다.

컬렉션 생성

    데이터베이스에 컬렉션 생성:
  1. db.createCollection('{collection_name}')

여기서 {collection_name}은 컬렉션 이름입니다.

4. 요청 및 응답 처리

POST 요청 처리

    POST 요청을 처리하려면 index.js 라우팅 함수에 다음 코드를 추가하세요.
  1. router.post('/post', function(req, res , next) {
   console.log(req.body);
   // do something

});

여기에서는 body-parser 미들웨어 모듈을 사용하므로 POST 요청으로 제출된 데이터는 라우팅 기능의 req.body를 통해 액세스할 수 있습니다.

JSON 데이터에 응답

    JSON 데이터에 응답하려면 라우팅 함수에 다음 코드를 추가하세요.
  1. router.get('/api', function(req, res, next) {
   res.setHeader('Content-Type', 'application/json');
   res.send({ message: 'Golang学习之基于Node.js的Web应用程序搭建', code: 0 });

});

여기서는 Express 프레임워크에서 제공하는 res.send() 함수를 사용하여 JSON 데이터에 응답합니다.

5. 요약

위는 Golang과 Node.js를 사용하여 기본 웹 애플리케이션을 구축하는 전체 과정입니다. 이 과정에서 우리는 gin 및 Express 프레임워크, EJS 뷰 템플릿 엔진, body-parser 미들웨어 모듈 및 기타 기술을 사용했습니다. 동시에 MongoDB 데이터베이스에 연결하여 POST 요청과 JSON 데이터 응답도 처리했습니다. 이는 후속 웹 애플리케이션 개발을 위한 기본 지원을 제공합니다.

위 내용은 Node.js 기반의 Golang 학습 웹 애플리케이션 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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