Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie nodejs+mysql die Datenbank betreibt

php中世界最好的语言
Freigeben: 2018-06-15 10:56:37
Original
1885 Leute haben es durchsucht

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, __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. nodeVerzeichnisstruktur 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

1. Datei anzeigen

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

'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 ejsVorlage

Muss installiert werden, muss aber nicht eingeführt 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
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 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;
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 ejsVerwendung von Vorlagendateien

1. Gewöhnliche Felder

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

7. Statische Dateien laden

1. Konfigurieren Sie

<h2><%= name %></h2>
<h2><%= age %></h2>
Nach dem Login kopieren
2. Verwenden Sie

<ul>
 <% for(let i in books){%>
  <li><%= books[i] %></li>
 <%}%>
</ul>
Nach dem Login kopieren

in der Vorlage

8. Verwenden Sie die

-Datenbank mysql. Erstellen Sie ein Datei

//设置静态文件的加载(js,css,img)
app.use(express.static(__dirname+"/public"));
Nach dem Login kopieren
🎜>2. Abfragedaten in

Ansichtmoduledb.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">
...
Nach dem Login kopieren

② 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();
}
Nach dem Login kopieren
in Ansicht 3. Neue Daten hinzufügen

① Siehe das Codebeispiel auf der Startseite

② Erhalten Sie Benutzerdatenparameter über

rrree

9. Über

req.query

Der Weg zur Rückkehr

nodeIm 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");
Nach dem Login kopieren
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 die statische PHP-Bindung in Ihrem Projekt

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!

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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!