Heim > Web-Frontend > js-Tutorial > Detaillierte Erläuterung der Schritte zum Verbinden von NodeJS mit der MySQL-Datenbank

Detaillierte Erläuterung der Schritte zum Verbinden von NodeJS mit der MySQL-Datenbank

php中世界最好的语言
Freigeben: 2018-05-09 11:48:15
Original
3277 Leute haben es durchsucht

Dieses Mal erkläre ich Ihnen ausführlich die Schritte zum Verbinden von NodeJS mit der MySQL-Datenbank und welche Vorsichtsmaßnahmen für NodeJS zum Herstellen einer Verbindung mit der MySQL-Datenbank gelten Praktischer Fall, werfen wir einen Blick darauf.

1. Mehrere häufig verwendete globale Variablen

1, filenameDen 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. nodeErstellen des ProjektsVerzeichnisstruktur

Demo

 package.json Pakete oder Module, von denen das aktuelle Projekt abhängt
Router Datei, die das Routing speichert
Ansichten Modul, das Ansichten speichert
Module wie Datenbank App. js
Haupteintragsdatei
Viertens schreiben Sie die Routing-Ansicht separat in die

-Datei

router1 Datei

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. Rufen Sie demo

'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

in der Hauptdatei auf. 5. Verwenden Sie

Templateejs1. Muss installiert werden, kann aber nicht importiert werden

npm install ejs --save
Nach dem Login kopieren
2. Konfigurieren Sie

//配置模板的文件路径
app.set("views",dirname+"/views");
//配置模板引擎
app.set("view engine","ejs");
Nach dem Login kopieren
in der 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>
Nach dem Login kopieren
②, Rendervorlage in 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;
Nach dem Login kopieren
③, 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);
Nach dem Login kopieren

6. Über

Verwendung von Vorlagendateien ejs1. Rückgabedaten

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

<h2><%= name %></h2>
<h2><%= age %></h2>
Nach dem Login kopieren
3 >7. Statische Dateien laden

1. Konfigurieren Sie

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

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

-Datenbank

1. Erstellen Sie eine in 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
mysql2. Verwenden Sie eine Abfrage Daten① in der -Ansicht, Datei importieren

'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

②, verwenden Sie module

//引入数据库文件
const db = require("./../module/db");
Nach dem Login kopieren
db.js3 in der Ansicht

①, Sehen Sie sich das Codebeispiel auf der Startseite an router

②, erhalten Sie Benutzerdatenparameter über

router.get("/", (req, res) => {
 db("select * from m_dept",(err,data)=>{
  console.log(data);
  res.render("03_index.ejs",{data:data});
 })
});
Nach dem Login kopieren

9. Über

Zurück

req.query

Im Front-End- und Back-End-Trennungsentwicklungsmodus sind die vom Backend zurückgegebenen Daten im Allgemeinen JSON, was nicht erforderlich ist Verwenden der EJS-Template-Engine node

router.get("/regist",(req, res)=>{
 //获取到输入参数,前提是input上要写name
 console.log(req.query);
 db("insert into student(name,age) values(?,?)",[req.query.username,req.query.age],(err,data)=>{
  console.log(data);
  if(data){
   res.send("成功");
  }
 })
})
Nach dem Login kopieren
Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website! jsonEmpfohlene Lektüre: vue verarbeitet von storejs erhaltene Daten

Was tun, wenn auf die lokale Entwicklungsumgebung nicht zugegriffen werden kann? nach IP

Beispielcode zum Erstellen von Feuerwerks-Spezialeffekten mit p5.js_javascript-Fähigkeiten

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung 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