Heim > Web-Frontend > js-Tutorial > Hauptteil

Analyse der Schritte zum Verbinden von NodeJS mit der MySQL-Datenbank

php中世界最好的语言
Freigeben: 2018-05-04 09:02:20
Original
1317 Leute haben es durchsucht

Dieses Mal werde ich Ihnen eine Analyse der Schritte zum Verbinden von NodeJS mit der MySQL-Datenbank und den Vorsichtsmaßnahmen für NodeJS zum Herstellen einer Verbindung mit der MySQL-Datenbank liefern Praktischer Fall, werfen wir einen Blick darauf.

Die Beispiele in diesem Artikel beschreiben die Verbindung von NodeJS zur MySQL-Datenbank und grundlegende Wissenspunkte. Teilen Sie es wie folgt mit allen:

1. Mehrere häufig verwendete globale Variablen

1 Datei Der Pfad filename2.
Ruft das Verzeichnis der aktuellen Datei ab dirname3.
Ruft das Verzeichnis des aktuellen Projekts ab process.cwd()

2. Importieren und exportieren von Dateien

1. Verwenden Sie

, um die Datei zu importieren require

2. Verwenden Sie

, um die in der Datei angegebenen Variablen, Methoden und Objekte zu exportieren module.exports

3. nodeProjektaufbauVerzeichnisstruktur

Demo

package.json Pakete oder Module, von denen das aktuelle Projekt abhängt
Router Dateien, die Routen speichern
Ansichten Module, die Ansichten speichern
Öffentliche Statische Dateien
Modul Schreibmodul wie Datenbank
app.js Haupteintragsdatei

4. Schreiben Sie die Routing-Ansicht separat in routerIn die Dateidemo

Ansichtsdatei

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;
Nach dem Login kopieren
2 🎜>

in der Hauptdatei 5. Verwenden Sie die

-Vorlage ejs 1. Muss installiert werden, kann aber nicht eingeführt werden

'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);
Nach dem Login kopieren
2. Konfigurieren Sie

in der Hauptdatei

npm install ejs --save
Nach dem Login kopieren
3. Verwenden Sie

①, Vorlagendatei

//配置模板的文件路径
app.set("views",dirname+"/views");
//配置模板引擎
app.set("view engine","ejs");
Nach dem Login kopieren
②, Rendervorlage in Route

<!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>
Nach dem Login kopieren
③, Hauptdatei

6. Über die Verwendung von

Vorlagendateienejs1

'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;
Nach dem Login kopieren
2. Gewöhnliche Felder

'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);
Nach dem Login kopieren

3. Array iterieren

...
let dataset = {
 name:"张三",
 age:20,
 books:['三国演义','西游记','红楼梦','水浒传']
}
res.render("03_index.ejs",dataset);
...
Nach dem Login kopieren

🎜>1. Konfigurieren Sie

<h2><%= name %></h2>
<h2><%= age %></h2>
Nach dem Login kopieren
in der Hauptdatei

2. Verwenden Sie

<ul>
 <% for(let i in books){%>
  <li><%= books[i] %></li>
 <%}%>
</ul>
Nach dem Login kopieren
in der Vorlage 8. Verwenden Sie

Datenbank

1. Erstellen Sie eine -Datei in mysql

//设置静态文件的加载(js,css,img)
app.use(express.static(dirname+"/public"));
Nach dem Login kopieren
2. Verwenden Sie Abfragedaten in der -Ansicht

① 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">
...
Nach dem Login kopieren
module②, in der Ansicht db.js
'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();
}
Nach dem Login kopieren
3. Neue Daten hinzufügen

router① Siehe Codebeispiel auf der Startseite

②. Erhalten Sie Benutzerdatenparameter über

rrree

9. Über den Weg

>req.query

im Front-End- und Back-End-Trennungsentwicklungsmodell Die zurückgegebenen Daten sind im Allgemeinen JSON, und es besteht keine Notwendigkeit, die EJS-Vorlagen-Engine zu verwenden

//引入数据库文件
const db = require("./../module/db");
Nach dem Login kopieren
Ich glaube Ihnen Nachdem Sie den Fall in diesem Artikel gelesen haben, beherrschen Sie die Methode. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website! nodeEmpfohlene Lektüre: jsonNodejs-Zusammenfassung der Verarbeitungsmethoden für die Passwortverschlüsselung

Zusammenfassung der Vue-Datenübertragungsmethoden

Das obige ist der detaillierte Inhalt vonAnalyse der Schritte zum Verbinden von NodeJS mit der MySQL-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage