Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pembelajaran Golang pembinaan aplikasi Web berdasarkan Node.js

Pembelajaran Golang pembinaan aplikasi Web berdasarkan Node.js

王林
王林asal
2023-06-24 09:34:241050semak imbas

Pembelajaran Golang untuk membina aplikasi Web berdasarkan Node.js

Dengan perkembangan pesat teknologi Internet, aplikasi Web secara beransur-ansur menjadi tumpuan utama perusahaan utama dan kakitangan teknikal. Sebagai bahasa pengaturcaraan berprestasi tinggi, Golang sedang dicari oleh lebih ramai orang. Artikel ini akan memperkenalkan cara menggunakan Golang dan Node.js untuk membina aplikasi web asas.

1. Persediaan persekitaran

Sebelum mula membina, anda perlu memasang dua persekitaran berikut:

  1. Persekitaran Golang

Muat turun pakej pemasangan Golang dari laman web rasmi dan konfigurasikan GOPATH dan GOROOT selepas pemasangan.

  1. Persekitaran Node.js

Muat turun pakej pemasangan Node.js daripada tapak web rasmi Selepas pemasangan, pasang modul ekspres, ejs dan body-parser melalui alat baris arahan npm Dan pasang pangkalan data MongoDB.

2. Bina rangka kerja Web

  1. Mulakan templat

Dalam persekitaran Golang, mulakan templat melalui baris arahan berikut:

go mod init {project_name}

Di sini {project_name} ialah nama projek anda. Selepas melaksanakan arahan ini, fail go.mod akan dibuat, yang perlu mengandungi kandungan berikut:

modul {project_name}

go 1.16

  1. Buat aplikasi utama

Dalam folder projek, cipta fail main.go, yang merupakan titik masuk aplikasi utama.

utama pakej

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("服务器启动失败")
   }

}

di sini Rangka kerja gin digunakan sebagai rangka kerja aplikasi web, dan logik kod utama adalah untuk mengembalikan rentetan "Hello World" melalui permintaan GET pada laluan. Akhir sekali, gunakan fungsi router.Run() untuk memulakan aplikasi web dan log jika permulaan gagal.

  1. Buat halaman statik

Dalam folder projek, cipta folder awam untuk menyimpan fail HTML statik dan fail sumber lain. Cipta fail index.html dalam folder awam dengan kod berikut:

8b05045a5be5764f313ed5b9168a17e6
100db36a723c770d327fc0aef2ce13b1

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

73a6ac4ed44ffec12cee46588e518a5e

  1. Buat paparan

Buat folder pandangan dalam folder projek untuk menyimpan fail paparan EJS dan fail sumber lain. Cipta fail index.ejs dalam folder pandangan dengan kod berikut:

8b05045a5be5764f313ed5b9168a17e6
100db36a723c770d327fc0aef2ce13b1

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

73a6ac4ed44ffec12cee46588e518a5e

  1. Buat laluan

Buat folder laluan dalam folder projek untuk menyimpan fail penghalaan. Cipta fail index.js dalam folder route dengan kod berikut:

var express = require('express');
var router = express.Router();

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

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

});

modul .eksport = penghala;

Express digunakan sebagai rangka kerja aplikasi web Fungsi penghalaan menggunakan fungsi res.render() untuk memaparkan fail EJS dan akhirnya menghantar mesej kepada fail paparan.

  1. Lancarkan aplikasi

Buat fail app.js dalam folder projek dengan kod berikut:

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');

});

The Express rangka kerja digunakan di sini, enjin paparan ditetapkan kepada EJS, dan port 3000 diperdengarkan Akhirnya, fungsi app.listen() digunakan untuk memulakan aplikasi.

Struktur fail projek akhir adalah seperti berikut:

project_name
├─go.mod
├─main.go
├─app.js
├ ─publik
│ └index.html
├─laluan
│ └index.js
└─pandangan

   └index.ejs

3.>

3 🎜>Pasang pangkalan data MongoDB
  1. Selepas memasang pangkalan data MongoDB, sambung ke pangkalan data melalui baris arahan berikut:

mongo

Buat pangkalan data
  1. Selepas menyambung ke pangkalan data, cipta pangkalan data melalui baris arahan berikut:

gunakan {database_name}

Di mana {database_name} ialah nama pangkalan data anda.

Buat Koleksi
  1. Buat koleksi dalam pangkalan data:

db.createCollection('{collection_name}')

di sini {collection_name} ialah nama koleksi anda.

4. Memproses permintaan dan respons

Memproses permintaan POST
  1. Tambahkan kod berikut dalam fungsi penghalaan index.js untuk memproses permintaan POST:

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

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

});

Modul perisian tengah parser badan digunakan di sini, Ini membenarkan data yang dihantar dalam permintaan POST untuk diakses melalui req.body dalam fungsi penghalaan.

Data JSON respons
  1. Tambahkan kod berikut dalam fungsi penghalaan untuk bertindak balas kepada data JSON:

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

   res.setHeader('Content-Type', 'application/json');
   res.send({ message: 'Golang学习之基于Node.js的Web应用程序搭建', code: 0 });

});

Fungsi res.send() yang disediakan oleh rangka kerja Express digunakan di sini untuk membalas data JSON.

5. Ringkasan

Di atas adalah keseluruhan proses membina aplikasi web asas menggunakan Golang dan Node.js. Dalam proses ini, kami menggunakan rangka kerja gin dan Express, enjin templat paparan EJS, modul middleware penghurai badan dan teknologi lain. Pada masa yang sama, kami juga menyambung ke pangkalan data MongoDB dan memproses permintaan POST dan respons data JSON. Ini menyediakan sokongan asas untuk pembangunan aplikasi web kami yang seterusnya.

Atas ialah kandungan terperinci Pembelajaran Golang pembinaan aplikasi Web berdasarkan Node.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn