Heim >Backend-Entwicklung >Golang >Golang lernt die Erstellung von Webanwendungen basierend auf Node.js
Golang lernt, Webanwendungen auf Basis von Node.js zu erstellen
Mit der rasanten Entwicklung der Internettechnologie werden Webanwendungen nach und nach zu einem wichtigen Schwerpunkt für große Unternehmen und technisches Personal. Als leistungsstarke Programmiersprache wird Golang von immer mehr Menschen nachgefragt. In diesem Artikel wird erläutert, wie Sie mit Golang und Node.js eine einfache Webanwendung erstellen.
1. Umgebungsvorbereitung
Bevor Sie mit dem Erstellen beginnen, müssen Sie die folgenden zwei Umgebungen installieren:
Laden Sie das Golang-Installationspaket von der offiziellen Website herunter und konfigurieren Sie GOPATH und GOROOT nach der Installation.
Laden Sie das Node.js-Installationspaket von der offiziellen Website herunter. Installieren Sie nach der Installation die Express-, EJS- und Body-Parser-Module über das npm-Befehlszeilentool und installieren Sie die MongoDB-Datenbank.
2. Erstellen Sie das Web-Framework.
Initialisieren Sie die Vorlage in der Golang-Umgebung über die folgende Befehlszeile:
go mod init {project_name}
wobei {project_name} Ihr Projektname ist. Nach der Ausführung dieses Befehls wird eine go.mod-Datei erstellt, die den folgenden Inhalt enthalten muss:
module {Projektname}
go 1.16
Erstellen Sie im Projektordner eine Hauptanwendung .go-Datei, die den Einstiegspunkt der Hauptanwendung darstellt.
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("服务器启动失败") }
}
Das Gin-Framework wird hier als Webanwendungs-Framework verwendet. Die Hauptcodelogik besteht darin, „Hello World“ über a zurückzugeben GET-Anfrage auf der Route „String. Verwenden Sie abschließend die Funktion router.Run(), um die Webanwendung zu starten und zu protokollieren, wenn der Start fehlschlägt.
Erstellen Sie im Projektordner einen öffentlichen Ordner, um statische HTML-Dateien und andere Ressourcendateien zu speichern. Erstellen Sie eine index.html-Datei im öffentlichen Ordner mit dem folgenden Code:
8b05045a5be5764f313ed5b9168a17e6
100db36a723c770d327fc0aef2ce13b1
<head> <title>Golang学习之基于Node.js的Web应用程序搭建</title> </head> <body> <h1>Hello World</h1> </body>
73a6ac4ed44ffec12cee46588e518a5e
im Projektordner Erstellen Sie eine Views-Ordner zum Speichern von EJS-Ansichtsdateien und anderen Ressourcendateien. Erstellen Sie eine index.ejs-Datei im Ansichtenordner mit dem folgenden Code:
8b05045a5be5764f313ed5b9168a17e6
100db36a723c770d327fc0aef2ce13b1
<head> <title>Golang学习之基于Node.js的Web应用程序搭建</title> </head> <body> <h1>Hello World</h1> <p><%= message %></p> </body>
73a6ac4ed44ffec12cee46588e518a5e
im Projektordner Erstellen Sie eine Routes-Ordner zum Speichern von Routing-Dateien. Erstellen Sie eine index.js-Datei im Routenordner mit dem folgenden Code:
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 wird als Webanwendungs-Framework verwendet und die Routing-Funktion verwendet res.render( ) Die Funktion rendert die EJS-Datei und übergibt die Nachricht schließlich an die Ansichtsdatei.
Erstellen Sie eine app.js-Datei im Projektordner mit dem folgenden Code:
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({ erweitert: false }) );
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ erweitert: false }));
app.use(express.static(path.join(__dirname, 'public ') ));
app.use('/', indexRouter);
app.listen(3000, function () {
console.log('Golang学习之基于Node.js的Web应用程序搭建已启动,端口为3000');
});
Hier wird das Express-Framework verwendet und die View-Engine ist auf EJS eingestellt , während Sie Port 3000 abhören und schließlich die Funktion app.listen() verwenden, um die Anwendung zu starten.
Die endgültige Projektdateistruktur ist wie folgt:
Projektname
├─go.mod
├─main.go
├─app.js
├─public
│ └index.html
├─routes
. │ └Index .js Datenbank
Nachdem Sie eine Verbindung zur Datenbank hergestellt haben, verwenden Sie die folgende Befehlszeile. Erstellen Sie eine Datenbank in der Befehlszeile:
wobei {collection_name} Ihr Sammlungsname ist. 4. Verarbeiten von Anfragen und Antworten next) {
└index.ejs
});
Hier wird das Body-Parser-Middleware-Modul verwendet, sodass über req.body in der Routing-Funktion auf die in der POST-Anfrage übermittelten Daten zugegriffen werden kann.
Fügen Sie den folgenden Code in der Routing-Funktion hinzu, um auf JSON-Daten zu reagieren:
router.get('/api', function(req, res, next) {
console.log(req.body); // do something
});
Die vom Express-Framework bereitgestellte Funktion res.send() wird hier verwendet, um auf JSON-Daten zu antworten.
5. Zusammenfassung
Das Obige ist der gesamte Prozess der Erstellung einer grundlegenden Webanwendung mit Golang und Node.js. In diesem Prozess verwendeten wir Gin- und Express-Frameworks, die EJS View Template Engine, das Body-Parser-Middleware-Modul und andere Technologien. Gleichzeitig haben wir uns auch mit der MongoDB-Datenbank verbunden und POST-Anfragen und JSON-Datenantworten verarbeitet. Dies bietet eine grundlegende Unterstützung für unsere spätere Webanwendungsentwicklung.
Das obige ist der detaillierte Inhalt vonGolang lernt die Erstellung von Webanwendungen basierend auf Node.js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!