ホームページ  >  記事  >  バックエンド開発  >  Node.jsをベースにしたGolang学習Webアプリケーション構築

Node.jsをベースにしたGolang学習Webアプリケーション構築

王林
王林オリジナル
2023-06-24 09:34:241090ブラウズ

Node.js に基づいた Golang 学習 Web アプリケーション構築

インターネット技術の急速な発展に伴い、Web アプリケーションは徐々に大手企業や技術者にとって重要な焦点分野になりつつあります。高性能プログラミング言語として、Golang はますます多くの人に求められています。この記事では、Golang と Node.js を使用して基本的な Web アプリケーションを構築する方法を紹介します。

1. 環境の準備

ビルドを開始する前に、次の 2 つの環境をインストールする必要があります:

  1. Golang 環境

公式 Web サイトから Golang インストール パッケージをダウンロードし、インストール後に GOPATH と GOROOT を設定します。

  1. Node.js 環境

公式 Web サイトから Node.js インストール パッケージをダウンロードし、インストール後、express、ejs、および body-parser モジュールをインストールします。 npm コマンド ライン ツール、MongoDB データベースをインストールします。

2. Web フレームワークの構築

  1. テンプレートの初期化

Golang 環境では、次のコマンド ラインを使用してテンプレートを初期化します。

go mod init {project_name}

{project_name} ここにプロジェクト名を入力します。このコマンドを実行すると、go.mod ファイルが作成されます。このファイルには次の内容が含まれる必要があります:

module {project_name}

go 1.16

    Createメイン アプリケーション
プロジェクト フォルダーに、メイン アプリケーションへの入り口となる main.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 フレームワークは Web アプリケーション フレームワークとして使用され、主なコード ロジックは、ルート上の GET リクエストを通じて「Hello World」文字列を返すことです。最後に、router.Run() 関数を使用して Web アプリケーションを起動し、起動が失敗したかどうかをログに記録します。

    静的ページの作成
プロジェクト フォルダー内に、静的 HTML ファイルおよびその他のリソース ファイルを保存するためのパブリック フォルダーを作成します。次のコードを使用して、パブリック フォルダーにindex.html ファイルを作成します:

8b05045a5be5764f313ed5b9168a17e6

100db36a723c770d327fc0aef2ce13b1

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

73a6ac4ed44ffec12cee46588e518a5e

    ビューの作成
  1. #EJS ビュー ファイルおよびその他のリソース ファイルを保存するためのビュー フォルダーをプロジェクト フォルダーに作成します。次のコードを使用して、views フォルダーにindex.ejs ファイルを作成します:

8b05045a5be5764f313ed5b9168a17e6

100db36a723c770d327fc0aef2ce13b1

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

73a6ac4ed44ffec12cee46588e518a5e

ルートの作成
  1. ##プロジェクト フォルダーにルーティング ファイルを保存するルート フォルダーを作成します。次のコードを使用して、routes フォルダーにindex.js ファイルを作成します:
varexpress = require('express');

var router =express.Router();

/
ホームページを取得します。

/

router.get('/', function(req, res, next) {

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

module .exports = router;

Express は Web アプリケーション フレームワークとして使用され、ルーティング関数は res.render() 関数を使用して EJS ファイルをレンダリングし、最後にメッセージをビュー ファイルに渡します。

アプリケーションを開始します

  1. 次のコードを使用してプロジェクト フォルダーに app.js ファイルを作成します:
varexpress = require('express' );

var path = require('path');

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


varindexRouter = require('./routes/index' );

var app =express();

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

app.set('ビューエンジン' , 'ejs');

app.use(express.json());
app.use(express.urlencoded({ extend: false }));

app.use (bodyParser .json());

app.use(bodyParser.urlencoded({ extend: false }));
app.use(express.static(path.join(__dirname, 'public'))) ;

app.use('/',indexRouter);

app.listen(3000, function () {

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

});

ザ エクスプレスここではフレームワークが使用され、ビュー エンジンは 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) {
  2.    console.log(req.body);
       // do something
});

ここでは body-parser ミドルウェア モジュールが使用されています。 POST リクエストで送信されたデータに、ルーティング関数の req.body を介してアクセスできるようにします。

JSON データへの応答

JSON データに応答するには、ルーティング関数に次のコードを追加します:
  1. router.get('/api' 、関数(req、res、next) {
  2.    res.setHeader('Content-Type', 'application/json');
       res.send({ message: 'Golang学习之基于Node.js的Web应用程序搭建', code: 0 });
});

ここでは、Express フレームワークによって提供される res.send() 関数を使用して、JSON データに応答します。

5. 概要

上記は、Golang と Node.js を使用して基本的な Web アプリケーションを構築するプロセス全体です。このプロセスでは、gin および Express フレームワーク、EJS ビュー テンプレート エンジン、ボディ パーサー ミドルウェア モジュール、およびその他のテクノロジーを使用しました。同時に、MongoDB データベースにも接続し、POST リクエストと JSON データ応答を処理しました。これにより、その後の Web アプリケーション開発の基本的なサポートが提供されます。

以上がNode.jsをベースにしたGolang学習Webアプリケーション構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。