首頁 > 後端開發 > Golang > 主體

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

王林
發布: 2023-06-24 09:34:24
原創
1048 人瀏覽過

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文件,其中包含以下程式碼:


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

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


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

    建立路由
在專案資料夾中建立一個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中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!