首頁 >後端開發 >Golang >Golang學習之基於Node.js的Web應用程式搭建

Golang學習之基於Node.js的Web應用程式搭建

王林
王林原創
2023-06-24 09:34:241123瀏覽

Golang學習之基於Node.js的Web應用程式建立

隨著網路科技的快速發展,Web應用程式正逐漸成為各大企業和技術人員的重點關注領域。而Golang作為一門高效能的程式語言,受到了越來越多人的追捧。本文將介紹如何使用Golang和Node.js建立一個基礎的網路應用程式。

一、環境準備

在開始建置之前,需要先安裝以下兩個環境:

  1. Golang環境

#在官網上下載Golang的安裝包,安裝後配置GOPATH和GOROOT即可。

  1. Node.js環境

在官網上下載Node.js的安裝包,安裝後透過npm命令列工具安裝express、ejs、body-parser模組,並安裝好MongoDB資料庫。

二、建置Web框架

  1. 初始化範本

在Golang環境中,透過以下命令列初始化範本:

go mod init {project_name}

這裡的{project_name}就是你的專案名稱。執行該命令後會創建一個go.mod文件,該文件需要包含以下內容:

module {project_name}

go 1.16

    ##建立主應用程式
在專案資料夾中,建立一個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框架作為網路應用程式框架,主要程式碼邏輯是在路由上透過GET請求傳回「Hello World」字串。最後使用router.Run()函數啟動Web應用程序,並在啟動失敗時記錄日誌。

    建立靜態頁面
在專案資料夾中,建立一個public資料夾,用於存放靜態HTML檔案和其它資源檔案。在public資料夾中建立一個index.html文件,其中包含以下程式碼:

8b05045a5be5764f313ed5b9168a17e6

100db36a723c770d327fc0aef2ce13b1

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

73a6ac4ed44ffec12cee46588e518a5e

    建立視圖
在專案資料夾中建立views資料夾,用於存放EJS視圖檔案和其它資源檔案。在views資料夾中建立一個index.ejs文件,其中包含以下程式碼:

8b05045a5be5764f313ed5b9168a17e6

100db36a723c770d327fc0aef2ce13b1

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

73a6ac4ed44ffec12cee46588e518a5e

    建立路由
在專案資料夾中建立一個routes資料夾,用於存放路由檔案。在routes資料夾中建立一個index.js文件,其中包含以下程式碼:

var express = require('express');

var router = express.Router();

/

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

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

});

module .exports = router;

這裡使用了Express作為Web應用程式框架,路由函數使用res.render()函數渲染EJS文件,最終將訊息傳遞給視圖文件。

    啟動應用程式
在專案資料夾中建立一個app.js文件,其中包含以下程式碼:

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 engine', 'ejs');

app.use(express.json());

app.use(express.urlencoded({ extended: false }));
app.use (bodyParser.json());
app.use(bodyParser.urlencoded({ extended: 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

三、連接資料庫

    安裝MongoDB資料庫
在安裝好MongoDB資料庫後,透過以下命令列連接資料庫:

mongo

    建立資料庫
連接資料庫後,透過以下命令列建立一個資料庫:

use {database_name}

#這裡的{database_name}就是你的資料庫名稱。

    建立集合
在資料庫中建立一個集合:

db.createCollection('{collection_name}')

這裡的{collection_name}就是你的集合名稱。

四、處理請求和回應

    處理POST請求
#在index.js路由函數中增加以下程式碼,用於處理POST請求:

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

   console.log(req.body);
   // do something

});

這裡使用了body-parser中介軟體模組,使得在路由函數中可以透過req.body存取到POST請求中提交的資料。

    回應JSON資料
在路由函數中增加以下程式碼,用於回應JSON資料:

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資料。

五、總結

以上就是使用Golang和Node.js建立一個基礎的網路應用程式的整個過程。在這個過程中,我們使用了gin和Express框架、EJS視圖模板引擎、body-parser中間件模組等技術。同時,我們也連接了MongoDB資料庫,並處理了POST請求和JSON資料回應。這為我們後續的Web應用程式開發提供了基礎支援。

以上是Golang學習之基於Node.js的Web應用程式搭建的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn