Heim >Web-Frontend >js-Tutorial >Wie nodejs+mysql die Datenbank betreibt
Dieses Mal zeige ich Ihnen, wie Sie die Datenbank mit nodejs+mysql betreiben und welche Vorsichtsmaßnahmen für den Betrieb der Datenbank mit nodejs+mysql gelten. Das Folgende ist ein praktischer Fall, schauen wir uns das an.
1. Mehrere häufig verwendete globale Variablen
1, __filename
Den Pfad der aktuellen Datei abrufen
2, __dirname
Verzeichnis der aktuellen Datei abrufen
3. process.cwd()
Verzeichnis des aktuellen Projekts abrufen
2. Import und Export von Dateien
1 , Verwenden Sie require
, um Dateien zu importieren
2. Verwenden Sie module.exports
, um in der Datei angegebene Variablen, Methoden und Objekte zu exportieren
3. node
Verzeichnisstruktur des Projekts erstellen
Demo
package.json Pakete oder Module, die das aktuelle Projekt enthalten hängt vom
Router Datei zum Speichern des Routings
Ansichten Modul zum Speichern von Ansichten
öffentliche Statische Datei
Modul Schreibmodul wie Datenbank
app.js Haupteintragsdatei
4. Schreiben Sie die Routing-Ansicht separat in die Datei router
demo
const express = require("express"); const router = express.Router(); router.get("/", (req, res) => { res.send("hello word"); }); router.get("/article", (req, res) => { res.send("我是文章列表"); }) module.exports = router;2. Rufen Sie
'use strict'; const express = require("express"); const app = express(); app.use("/",require("./router/03_router")) app.use("/app",require("./router/03_router1")) app.listen(3000);
in der Hauptdatei auf. 5. Verwenden Sie ejs
Vorlage
npm install ejs --save2. Konfigurieren Sie
//配置模板的文件路径 app.set("views",__dirname+"/views"); //配置模板引擎 app.set("view engine","ejs");Hauptdatei 3. Verwenden Sie ①, Vorlagendatei
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <h1>我是模板渲染的</h1> </body> </html>②, Rendervorlage in der Route
'use strict'; const express = require("express"); const router = express.Router(); router.get("/", (req, res) => { //可以直接使用res.render("03_index"); res.render("03_index.ejs"); }); router.get("/article", (req, res) => { res.send("我是文章列表"); }) module.exports = router;③, Hauptdatei
'use strict'; const express = require("express"); const app = express(); //配置模板的文件路径 app.set("views",__dirname+"/views"); //配置模板引擎 app.set("view engine","ejs"); app.use("/",require("./router/03_router")) app.use("/app",require("./router/03_router1")) app.listen(3000);
6. Über ejs
Verwendung von Vorlagendateien
... let dataset = { name:"张三", age:20, books:['三国演义','西游记','红楼梦','水浒传'] } res.render("03_index.ejs",dataset); ...3. Array iterieren
7. Statische Dateien laden
1. Konfigurieren Sie <h2><%= name %></h2>
<h2><%= age %></h2>
2. Verwenden Sie
<ul> <% for(let i in books){%> <li><%= books[i] %></li> <%}%> </ul>
in der Vorlage
8. Verwenden Sie die
-Datenbank mysql
. Erstellen Sie ein Datei
//设置静态文件的加载(js,css,img) app.use(express.static(__dirname+"/public"));🎜>2. Abfragedaten in
Ansichtmodule
db.js
① verwenden, Datei
<link rel="stylesheet" href="./css/bootstrap.css" rel="external nofollow" > <script type="text/javascript" src="./js/jquery-3.1.1.min.js"></script> <img src="./img/002.jpg"> ...
② importieren, router
'use strict'; const mysql = require("mysql"); /** * 将整个方法全部暴漏出去 * @param sql sql语句 * @param arg 传递到sql语句中的参数,可以不写 * @param callback 回调函数,可以不写 */ module.exports = function (sql,arg,callback) { //1.创建连接(根据自己的数据库配置) let config = mysql.createConnection({ host:"localhost", //数据库的地址 user:"root", //数据库用户名 password:"root", //数据库密码 port:"3306", //mysql数据库的端口号 database:"mybatistest" //使用那个数据库 }); //2.开始连接数据库 config.connect(); //3.对数据库的增删改查操作 config.query(sql,arg,(err,data)=>{ callback && callback(err,data); }) //4.关闭数据库 config.end(); }in Ansicht 3. Neue Daten hinzufügen
① Siehe das Codebeispiel auf der Startseite
② Erhalten Sie Benutzerdatenparameter über
rrree
9. Überreq.query
node
Im Frontend und Back- Am Ende des Separation-Entwicklungsmodells sind die vom Backend zurückgegebenen Daten im Allgemeinen JSON, und es besteht keine Notwendigkeit, die EJS-Vorlagen-Engine zu verwendenjson
//引入数据库文件
const db = require("./../module/db");
Ich glaube, Sie haben die Methode beherrscht, nachdem Sie den Fall in diesem Artikel gelesen haben Spannende Informationen, bitte beachten Sie andere verwandte Artikel auf der chinesischen PHP-Website! Empfohlene Lektüre:
So verwenden Sie AngularJS zur Überwachung des Renderings
Das obige ist der detaillierte Inhalt vonWie nodejs+mysql die Datenbank betreibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!