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:
Muat turun pakej pemasangan Golang dari laman web rasmi dan konfigurasikan GOPATH dan GOROOT selepas pemasangan.
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
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
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.
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:
<head> <title>Golang学习之基于Node.js的Web应用程序搭建</title> </head> <body> <h1>Hello World</h1> </body>
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:
<head> <title>Golang学习之基于Node.js的Web应用程序搭建</title> </head> <body> <h1>Hello World</h1> <p><%= message %></p> </body>
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.
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 MongoDBmongo
Buat pangkalan datagunakan {database_name}
Di mana {database_name} ialah nama pangkalan data anda.
Buat Koleksidb.createCollection('{collection_name}')
di sini {collection_name} ialah nama koleksi anda.
4. Memproses permintaan dan respons
Memproses permintaan POSTrouter.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 responsrouter.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!