


NodeJS-Tutorial zum Erstellen eines einfachen Artikels zur Veröffentlichung von system_node.js
Vorwort
Wir werden heute ein einfaches Pressemitteilungssystem erstellen. Die erste Stufe des Systems muss nicht allzu schwierig sein. Es hat hauptsächlich die folgenden Funktionen
① Verwaltung von Nachrichtentypen② Nachrichtenverwaltung (mit Bild-Upload-Funktion)
③ Durchsuchen von Nachrichten
Obwohl es nicht viele Funktionen gibt, deckt es auch viele grundlegende Vorgänge ab. Das Programm fügt nur Anhänge hinzu, löscht sie, prüft sie und lädt sie hoch, was ausreichend ist. Beginnen wir also noch heute mit unserer Studie
Vorbereitung
Nach den gestrigen Problemen haben wir bereits NodeJS- und MongoDB-Umgebungen. Jetzt können wir direkt neue Projektdateien und Datenbankdateien erstellenDer erste Schritt besteht darin, die Eingabeaufforderung zu öffnen, zum Laufwerk D zu wechseln und
einzugeben
„name“: „Anwendungsname“,
„Version“: „0.0.1“,
„privat“: wahr,
„Skripte“: {
„start“: „node app.js“
},
„Abhängigkeiten“: {
„express“: „3.4.8“,
„ejs“: „*“,
„mongodb“: „*“
}
}
ein
Express-Server überwacht Port 3000
Also lief unser Programm problemlos. Als wir die URL öffneten, stellten wir fest, dass es tatsächlich kein Problem gab
PS: Hier gibt es ein Problem, das Aufmerksamkeit erfordert. Die von uns heruntergeladene Datei ist nicht UTF-8-codiert, daher muss die Dateicodierung möglicherweise von Ihnen vereinheitlicht werden.
Wenn das Programm ausgeführt wird, ist eine datenbankbezogene Konfiguration erforderlich
① Erstellen Sie zunächst einen neuen News-Ordner im MongoDB-Verzeichnis
② Fügen Sie die Konfigurationsdatei „settings.js“ zum Projekt hinzu
cookieSecret: 'myNews',
db: 'news',
Host: 'localhost'
};
Db = require('mongodb').Db,
Connection = require('mongodb').Connection,
Server = require('mongodb').Server;
module.exports = new Db(settings.db, new Server(settings.host, Connection.DEFAULT_PORT), {safe: true });
Aber hier gibt es zwei ärgerliche Dinge: Zum einen ist es nervig, die Nachrichtensendung jedes Mal zu starten, und zum anderen muss man neu starten, um etwas zu ändern. Deshalb werden wir diese beiden Probleme hier zuerst lösen
① Erstellen Sie eine neue news_app.bat auf dem Desktop und führen Sie sie später aus, um das Programm zu starten
② Supervisor ist ein Prozessschutzprogramm. Wir können ihn verwenden, um das Programm neu zu starten und dann unsere node_app.bat anzupassen
Projektstruktur
Nach dem ersten Schritt müssen wir über die Projektstruktur nachdenken
① Die Startseite ist ein Index, in dem alle Nachrichtentypen und Nachrichtenelemente aufgelistet werden
② Jede Nachricht verfügt über drei Schaltflächen: Bearbeiten/Löschen/Anzeigen
③ Auf der Startseite gibt es eine Schaltfläche zum Hinzufügen von Nachrichten (Sie können beim Hinzufügen Bilder hochladen)
Grundfunktionen sind wie oben
Also haben wir die Routing-Funktion in der App entfernt und alle Routen in den Index aufgenommen
//app.get('/',routes.index);
//app.get('/users', user.list);
Routen(App);
//Homepage, jetzt auch die Homepage
app.get('/', Funktion (req, res) {
res.render('index', { title: 'Express' });
});
app.get('/add', function (req, res) {
res.send('News-Anfrage hinzufügen');
});
app.get('/delete', function (req, res) {
res.send('Newsanfrage löschen');
});
app.get('/view', function (req, res) {
res.send('News-Anfrage anzeigen');
});
app.get('/update', function (req, res) {
res.send('Nachrichtenanfrage ändern');
});
};
/ Standardseite, die alle Genres und Nachrichten anzeigt, mit einer Schaltfläche zum Löschen
/add Rufen Sie die Seite zum Hinzufügen von Nachrichten auf
/addNews Nachrichtenspezifische Beitragsanfrageadresse hinzufügen (Antwort beim Klicken auf die Schaltfläche)
/delete Newsanfrage löschen
/spezifische Nachrichtenabfrage anzeigen
Also habe ich die obige Route leicht modifiziert:
//Homepage, jetzt auch die Homepage
app.get('/', Funktion (req, res) {
res.render('index', { title: 'Express' });
});
app.get('/add', function (req, res) {
res.send('Neuigkeitsseite hinzufügen');
});
app.post('/addNews', function (req, res) {
res.send('Anfrage zum Hinzufügen von Nachrichten wird bearbeitet');
});
app.get('/delete', function (req, res) {
res.send('Newsanfrage löschen');
});
app.get('/view', function (req, res) {
res.send('News-Anfrage anzeigen');
});
};
Zwei Vorlagendateien hinzugefügt, add und view, die sich vorübergehend genauso verhalten wie index.ejs, und Navigation geändert
module.exports = Funktion (App) {
//Homepage, jetzt auch die Homepage
app.get('/', Funktion (req, res) {
res.render('index', { title: 'Express' });
});
app.get('/add', function (req, res) {
res.render('add', { title: 'News-Seite hinzufügen' });
});
app.post('/addNews', function (req, res) {
res.send('Anfrage zum Hinzufügen von Nachrichten wird bearbeitet');
});
app.get('/delete', function (req, res) {
res.send('Newsanfrage löschen');
});
app.get('/view', function (req, res) {
res.render('view', { title: 'News-Anfrage anzeigen' });
});
};
Dies ist das Ende der Projektstruktur
Datenoperation
Nachdem die Gesamtstruktur fertig ist, müssen wir Datenoperationen durchführen:
① Daten hinzufügen (Nachrichten hinzufügen)
② Daten anzeigen (Nachrichten anzeigen)
③ Daten löschen (Nachrichten löschen)
Ursprünglich ging es auch um Typoperationen, aber als ich es tat, konnte ich es nicht herausfinden. Ich lasse es vorerst in Ruhe, weil man beim ersten Mal leicht verwirrt wird
Neuigkeiten hinzufügen
Hier verwenden wir keine Formularübermittlung, wir verwenden Ajax... Hier stellen wir die Zepto-Bibliothek vor, damit unsere Seite so aussieht
Titel:
Inhalt:
Titel:
Inhalt: