Heim >Web-Frontend >js-Tutorial >Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

青灯夜游
青灯夜游nach vorne
2023-01-12 20:28:2021009Durchsuche

Dieser Artikel bietet Ihnen eine detaillierte Analyse von Node.js anhand vieler Codes und Diagramme. Der Hauptinhalt umfasst modulare Verarbeitung, grundlegende Anwendung von Paketen, Express, domänenübergreifende Bedienung, MySQL-Datenbank usw. Ich hoffe es wird für alle hilfreich sein!

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).. Einführung in Node.jsArtikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Was ist Node.js? ApI code> und basiert auf der js-Laufumgebung der Chrome V8-Engine. Ich habe bereits einige verstreute Wissenspunkte lokal zusammengefasst und werde sie heute integrieren und versenden. Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

Offizielle Website-Adresse: https://nodejs.org/zh-cn/

Node.js是一个调用内置ApI并且基于Chrome V8引擎的js运行环境,之前自己在本地总结了一些零散的只知识点,今天整合一下发出来。

官网地址: https://nodejs.org/zh-cn/

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Node.js可以做什么Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

①基于 Express 框架(http://www.expressjs.com.cn/),可以快速构建 Web 应用。【相关教程推荐:nodejs视频教程编程教学

②基于 Electron 框架(https://electronjs.org/),可以构建跨平台的桌面应用

③基于restify框架(http://restify.com/),可以快速构建 API 接口项目

④读写和操作数据库、创建实用的命令行工具辅助前端开发、etc…

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Node.js的安装Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

下载链接:https://nodejs.org/en/

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

  • LTS:长期稳定版
  • Current:尝鲜版

查看版本号:node –v

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

学习路线:JavaScript 基础语法 + Node.js 内置 API 模块(fs、path、http等)+ 第三方 API 模块(express、mysql 等)

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..4 Node.js的使用Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

命令:node js文件名

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

终端快捷键

①使用 ↑ 键,可以快速定位到上一次执行的命令

②使用 tab 键,能够快速补全路径

③使用 esc 键,能够快速清空当前已输入的命令

④输入 cls 命令,可以清空终端

二、模块化处理Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 什么是模块化Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

定义:把复杂问题简单化,分成一个个小问题。编程领域中的模块化,就是遵守固定的规则,把一个大文件拆成独立并互相依赖的多个小模块

把代码进行模块化拆分的好处

  • 提高了代码的复用性
  • 提高了代码的可维护性
  • 可以实现按需加载
Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 内置模块Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

定义:由Node.js官方提供,如fs、http、path

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). fs文件系统模块

(Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).)基本用法
// 引用内部模块
const fs = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;fs&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);

// 文件读取
fs.readFile(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;../files/test-fs.txt&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;utf-8&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (err, results) => {
    if (err) return console.log(err.message);// 错误信息err null
    console.log(results);
})

// 文件写入
fs.writeFile(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;../files/test-fs.txt&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Node.js&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;utf-8&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (err) => {
    if (err) return console.log(err.message);
    console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;写入文件成功!&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
})

注意点

  • readFile只能读取已经存在的文件
  • writeFile写入内容已经有文件,则创建同名文件,再写入文件
  • readFile需要在writeFile后面读取,不然出错
(Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).)防止动态拼接

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

  • node 命令自动将当前路径和js脚本文件路径拼接,而不管.day总复习这个路径
  • 我们可以使用绝对路径改善

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

(Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).)路径问题
  • ./ 表示当前目录 ../ 表示父级目录../..表示祖父目录
  • 动态拼接,首部不能出现./ ../,否则拼接失败 /…/

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). path内置模块

定义:拼接绝对路径

Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Was kann Node.js?🎜🎜🎜①Basierend auf Express Code >Framework (http://www.expressjs.com.cn/), mit dem Webanwendungen schnell erstellt werden können. [Empfohlene verwandte Tutorials: <a href="https://www.php.cn/course/list/Dieser%20Artikel%20vermittelt%20Ihnen%20ein%20tiefgreifendes%20Verst%C3%A4ndnis%20von%20Node.js%20(ausf%C3%BChrliche%20Erkl%C3%A4rung%20mit%20Bildern%20und%20Text).4.html" target="_blank">nodejs-Video-Tutorial🎜, </a><a href="https://www.%20php.cn/course.html" target="_blank" textvalue="Programmierunterricht">Programmierunterricht🎜]🎜🎜②Basierend auf dem <code>Electron-Framework (https://electronjs.org/) ist es kann eine plattformübergreifende Desktop-Anwendung erstellt werden🎜🎜③Basierend auf dem restify-Framework (http://restify.com/) können API-Schnittstellenprojekte schnell erstellt werden🎜🎜④Lesen, schreiben und bedienen Sie Datenbank, erstellen Sie praktische Befehlszeilentools zur Unterstützung der Frontend-Entwicklung usw. 🎜🎜🎜🎜Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Node.js-Installation🎜🎜🎜🎜Download-Link: https:// nodejs.org/en/🎜🎜 🎜QQ-Screenshot Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).0Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).0908Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).5Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).09🎜
  • 🎜LTS 🎜: Langzeitstabile Version
  • 🎜Aktuell🎜: Early-Adopter-Version
🎜Versionsnummer anzeigen: Knoten –v🎜🎜QQ-Screenshot Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).0Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).0908Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).5Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).5🎜🎜🎜Lernroute: Grundlegende JavaScript-Syntax + integriertes Node.js-API-Modul (FS, Pfad, http usw.) + API-Module von Drittanbietern (Express, MySQL usw.) 🎜🎜🎜
🎜🎜Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..4 Verwendung von Node.js🎜🎜🎜Befehl: node js file name🎜🎜QQ-Screenshot Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).0Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).0908Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).5Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).09🎜🎜🎜Terminal-Tastenkombinationen🎜:🎜🎜①Verwenden Sie die ↑-Taste, um schnell den zuletzt ausgeführten Befehl zu finden🎜🎜②Verwenden Sie die Tabulatortaste, um den Pfad schnell zu vervollständigen🎜🎜③Verwenden Sie die Esc-Taste Taste zum schnellen Löschen des aktuell eingegebenen Befehls🎜🎜④Der Eingabebefehl cls kann das Terminal löschen🎜🎜🎜🎜 Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).. Modulare Verarbeitung🎜🎜🎜🎜Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Was ist Modularität🎜🎜🎜Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).🎜🎜🎜Definition🎜: Komplexe Probleme vereinfachen und in kleinere Probleme aufteilen. Modularisierung im Bereich der Programmierung bedeutet das Befolgen fester Regeln und das Aufteilen einer großen Datei in mehrere s, die unabhängig und <code>interdependent kleine Module🎜🎜🎜Die Vorteile der Modularisierung des Codes🎜:🎜
  • Verbesserte Wiederverwendbarkeit des Codes
  • Verbesserte Wartbarkeit des Codes
  • li>
  • Laden bei Bedarf kann erreicht werden
🎜
🎜🎜Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Integriertes Modul 🎜🎜🎜🎜Definition🎜: Offiziell von Node.js bereitgestellt, z. B. fs, http, path Code>🎜<h4><a id="Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)._fs_8Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).">🎜🎜Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). FS-Dateisystemmodul🎜</a></h4> <h5><a id="Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)._84">🎜 (Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).) Grundlegende Verwendung</a></h5><pre class="brush:js;toolbar:false;">const fs = require(&amp;#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;fs&amp;#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;); const path = require(&amp;#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;path&amp;#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;); const fpath = path.join(__dirname, &amp;#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/../files/test-fs.txt&amp;#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;); fs.readFile(fpath, &amp;#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;utf-8&amp;#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (err, results) =&gt; { console.log(__dirname); console.log(path.basename(fpath, &amp;#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;.txt&amp;#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;)); console.log(path.extname(fpath)); if (err) return console.log(err.message); console.log(results); }) // test-fs // .txt // Node.js</pre> 🎜🎜Notizen🎜🎜<ul> <li> <code>readFile kann nur vorhandene Dateien lesen
  • writeFile Wenn bereits eine Datei zum Schreiben des Inhalts vorhanden ist, Erstellen Sie eine Datei mit demselben Namen und schreiben Sie dann in die Datei
  • readFile muss nach writeFile gelesen werden, sonst tritt ein Fehler auf
  • 🎜(Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).) Dynamisches Spleißen verhindern
    🎜Bildbeschreibung hier einfügen🎜
    • node-Befehl konvertiert automatisch den aktuellen Pfad in den js-Skriptdateipfadspleißen, unabhängig von <code>.day immer diesen Pfad überprüfen
    • Wir können absoluten Pfad verwenden, um ihn zu verbessern
    🎜 Bildbeschreibung hier einfügen🎜
    🎜(Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).) Pfadproblem
    • ./ bedeutet das aktuelle Verzeichnis ../ bedeutet das übergeordnete Verzeichnis . ./ .. stellt das Großvaterverzeichnis dar
    • Dynamisches Spleißen, der Header kann nicht angezeigt werden ./ ../, andernfalls schlägt das 🎜Spleißen fehl🎜 /…/

    🎜🎜Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). integriertes Pfadmodul🎜

    🎜🎜Definition🎜: splice absoluter Pfad🎜
    • path.join()
    • path.basename()
    • path.extname()
    const fs = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;fs&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    
    const path = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;path&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    
    const fpath = path.join(__dirname, &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/../files/test-fs.txt&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    
    fs.readFile(fpath, &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;utf-8&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (err, results) => {
        console.log(__dirname);
        console.log(path.basename(fpath, &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;.txt&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;));
        console.log(path.extname(fpath));
    
        if (err) return console.log(err.message);
        console.log(results);
    })
    // test-fs
    // .txt
    // Node.js

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). http内置模块

    定义Node.js提供创建web服务器

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    (Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).) 初始化
    // 导入http模块
    const http = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    
    //创建web服务器实例
    const server = http.createServer();
    
    //绑定request事件,监听客户端请求
    server.on(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;request&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        let str = `路径 ${req.url} 方法 ${req.method}`;
        console.log(str);
        // 向客户端发送中文前,设置响应头
        res.setHeader(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Content-Type&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;text/html;charset=utf-8&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
        res.end(str);
    })
    
    
    //启动服务器
    server.listen(80, () => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    (Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).) web服务器

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    • 根据浏览器访问的url地址不同,返回相应的绝对路径
    const fs = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;fs&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    const http = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    const path = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;path&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    const server = http.createServer();
    
    let fpath = &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;;
    server.on(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;request&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        if (req.url === &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;) {
            fpath = path.join(__dirname + &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/../files/clock/index.html&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
            console.log(__dirname);
            console.log(fpath);
        }
        else {
            fpath = path.join(__dirname + &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/../files/clock&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9; + req.url);
        }
        fs.readFile(fpath, &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;utf-8&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (err, results) => {
            if (err) res.end(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;404 not find&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
            res.end(results);
        })
    })
    
    server.listen(80, () => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 自定义模块Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    定义:用户自定义的js模块

    //引入本地文件
    const custom = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;./0Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).-node.js的使用&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    注意:自定义模块开头必须有./ …/

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..4 外部模块Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    定义:由第三方提供,使用前需要下载

    //下载外部导入
    const moment = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;moment&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    监听nodemon

    npm i nodemon -g

    代替node使用nodedmon每次修改内容不需要重启服务器,自动监听

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..5 模块化处理Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    模块作用域定义:和函数一致,当前模块定义的方法、变量,只能在当前模块访问,防止变量污染

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    暴露:通过module.exports或者exports暴露出去,使用 require() 方法导入模块时,导入的结果,永远以module.exports 指向的对象为准

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..6 加载机制Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    定义一次加载缓存,从缓存加载 内置模块加载优先级MAX

    三、包的基本应用Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    :概念像node.js的第三方模块,包是基于内置模块封装出来的,提供了更高级、更方便的 API,极大的提高了开发效率

    npm: 包管理工具

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 使用流程Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>
    • npm安装包
    • js导入包
    • 根据开发文档使用包
    // npm i moment
    const moment = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;moment&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    const date = moment().format(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;YYYY-MM-DD HH:mm:ss&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    console.log(date);//Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).0Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).-09-Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).0 Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).0:4Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).:Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).4
    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 版本问题Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    包的版本号是以“点分十进制”形式进行定义的,总共有三位数字,例如 Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).4.0
    其中每一位数字所代表的的含义如下:

    • 第Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).位数字:大版本

    • 第Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).位数字:功能版本

    • 第Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).位数字:Bug修复版本

      版本号提升的规则:只要前面的版本号增长了,则后面的版本号归零。

    npm i comment@Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).
    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 参数问题Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    • node_modules 文件夹用来存放所有已安装到项目中的包。require() 导入第三方包时,就是从这个目录中查找并加载包。
    • package-lock.json 配置文件用来记录 node_modules 目录下的每一个包的下载信息,例如包的名字、版本号、下载地址等。
    • package.json项目的名称、版本号、描述等、用到了哪些包、开发期间使用的包、部署使用的包
      • devDependencies :开发依赖
      • dependencies :核心依赖
    • 注意:程序员不要手动修改 node_modules 或 package-lock.json 文件中的任何代码,npm 包管理工具会自动维护它们,今后在项目开发中,一定要把 node_modules 文件夹,添加到 .gitignore 忽略文件中
    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..4 npm命令Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>
    //安装包 
    npm i moment
    //安装全局包
    npm i 包名 -g
    //安装包到开发阶段到devDependencies
    npm i 包名 -D
    //安装所有依赖包 
    npm install
    //卸载包 
    npm uninstall moment
    //查看已经安装的局部包
    npm ls
    //查看全局安装的包
    npm ls -g

    查看包命令:https://blog.csdn.net/qq_4Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).664096/article/details/Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).797Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).60

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..5 下载镜像Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    //查看当前npm镜像
    npm config get registry
    //nrm镜像工具,安装为全局镜像
    nrm ls
    //切换镜像
    nrm use taobao

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..6 开发自己的包Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    一个规范的包,它的组成结构,必须符合以下 Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 点要求:

    • 包必须以单独的目录而存在
    • 包的顶级目录下要必须包含 package.json 这个包管理配置文件
    • package.json 中必须包含 name,version,main 这三个属性,分别代表包的名字、版本号、包的入口

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    发布包到npm

    • 镜像切换到npm上
    • npm login登录
    • 发布包 npm publish
    • 删除包 npm unpublish 包名 --force

    资源

    • https://www.npmjs.com/ 网站上搜索自己所需要的包
    • https://registry.npmjs.org/ 服务器上下载自己需要的包
    四、ExpressArtikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>4.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 简介Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    Express:基于Node.js http进一步封装,更加高级的Web开发框架

    对于前端程序员来说,最常见的两种服务器,分别是:

    • Web 网站服务器:专门对外提供 Web 网页资源的服务器
    • API 接口服务器:专门对外提供 API 接口的服务器
    4.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 基本使用Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>
    //导入包
    const express = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;express&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    //创建服务器
    const app = express();
    
    app.get(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/user&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        res.send({ 男: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).8&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, age: Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).8 });
    })
    
    app.post(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/user&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        res.send(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;post请求&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    
    app.get(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        //req.query  ?name=zs&age=Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).8  这种数据
        //http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).?name=zs&age=Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).8
        console.log(req.query);
    })
    app.post(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/:id&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        //动态匹配参数
        console.log(req.params);
    })
    
    //启动服务器
    app.listen(80, () => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    4.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 托管静态资源Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    定义通过路径暴露文件,省去文件路径的描写

    const express = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;express&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    
    const app = express();
    
    //托管静态资源,不需要访问
    app.use(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/public&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, express.static(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;../files/clock&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;));
    
    app.listen(80, () => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })

    推荐VScode插件:postcode

    Express 的中文官网: http://www.expressjs.com.cn/

    4.4 路由Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    定义:客户端与服务器映射关系

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    4.4.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 简单挂载

    //导入包
    const express = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;express&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    //创建服务器
    const app = express();
    
    app.get(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/user&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        res.send({ 男: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).8&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, age: Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).8 });
    })
    
    app.post(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/user&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        res.send(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;post请求&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    //启动服务器
    app.listen(80, () => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })

    4.4.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 模块化路由

    为了方便对路由进行模块化的管理,Express 不建议将路由直接挂载到 app 上,而是推荐将路由抽离为单独的模块

    将路由抽离为单独模块的步骤如下:

    • 创建路由模块对应的 .js 文件

    • 调用express.Router()函数创建路由对象

    • 向路由对象上挂载具体的路由

    • 使用 module.exports 向外共享路由对象

    • 使用app.use()函数注册路由模块

    创建路由对象

    const express = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;express&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);//导入包
    
    const router = express.Router();//创建路由对象
    
    //绑定路由规则
    router.get(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/user/list&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        res.send(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;user list message&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    
    router.post(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/user/add&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        res.send(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;user add message&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    
    //向外导出路由对象
    module.exports = router;

    使用路由对象

    const express = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;express&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    const app = express();
    
    const router = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;./Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).-模块化路由&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    
    app.use(router);
    
    app.listen(80, () => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    4.5 中间件Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    中间件:与路由处理函数不同,必须包含next参数

    4.5.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 基本使用

    const express = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;express&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    const app = express();
    //全局中间件的简化形式
    app.use((req, res, next) => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;正在使用全局中间件&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
        next();
    });
    
    app.get(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;,(req, res) => {
        res.send(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Get message&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    
    
    app.listen(80, () => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })

    注意

    • 多个中间件共享req,res,上游设置好,下游的中间件/路由使用

    • 中间件定义先后顺序执行

    • 局部生效的中间件,定义在

      • app.get(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;,中间件,(req, res) => {
            res.send(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Get message&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
        })
      • Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    • 路由之前调用中间件

    • next()函数不能忘,后面不用写内容

    4.5.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 中间件分类

    (Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).)应用
    const express = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;express&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    const app = express();
    
    //全局中间件
    app.use((req, res, next) => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;全局中间件&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
        next();
    })
    //局部中间件
    function mw(req, res, next) {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;局部中间件&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
        next();
    }
    
    app.get(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, mw, (req, res) => {
        res.send(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;server is visting&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    app.listen(80, () => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    (Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).)路由

    定义:绑定到 express.Router() 实例上的中间件

    (Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).)错误

    定义捕获项目错误,防止出错,在所有路由之后定义

    const express = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;express&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    const app = express();
    
    
    app.get(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        throw new Error(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;服务器出错&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
        res.send(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;server is visting&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    
    
    //全局中间件
    app.use((err, req, res, next) => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Error!&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9; + err.message);
        res.send(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Error!&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9; + err.message);
        next();
    })
    
    app.listen(80, () => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    //Error!服务器出错
    (4)Express 内置

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    const express = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;express&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    const app = express();
    
    // express.json()解析JSON请求体
    app.use(express.json());
    
    //解析application/x-www-
    app.use(express.urlencoded({ extended: false }));
    
    app.post(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/user&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        console.log(req.body);
    })
    
    app.post(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/book&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        console.log(req.body);
    })
    
    app.listen(80, () => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    // http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).
    // { name: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;zs&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, age: Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).8 }
    // [Object: null prototype] { name: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;西游记&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9; }
    (5)第三方
    • npm install body-parse
    • require导入
    • app.use()为全局
    const express = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;express&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    const app = express();
    
    const parser = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;body-parser&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    
    app.use(parser.urlencoded({ extended: false }));
    
    app.post(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/book&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        console.log(req.body);
    })
    
    app.listen(80, () => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })

    注意:Express 内置的 express.urlencoded 中间件,就是基于 body-parser 这个第三方中间件进一步封装出来的。

    4.6 自定义中间件Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    封装中间件

    const querystring = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;querystring&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    
    function parsebody(req, res, next) {
        let str = &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;;
        req.on(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;data&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (result) => {
            str += result;
        })
        req.on(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;end&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, () => {
            const body = querystring.parse(str);
            req.body = body;
            next();
        })
    }
    
    module.exports = parsebody;

    测试中间件

    const express = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;express&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    const app = express();
    const parsebody = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;./Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).4-自定义中间件&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    
    app.use(parsebody);
    
    app.post(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/user&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        res.send(req.body);
        console.log(req.body);
    
    })
    
    app.listen(80, () => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })
    4.7 接口Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>
    const express = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;express&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    const app = express();
    
    const router = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;./Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).5-接口问题&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    app.use(router);
    
    app.listen(80, () => {
        console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http://Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    })

    4.7.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). GET接口

    const express = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;express&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    
    const apiRouter = express.Router();
    
    apiRouter.get(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/user&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        const query = req.query;
        res.send({
            status: 0,
            msg: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;GET 请求成功&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;,
            data: query
        });
    })
    module.exports = apiRouter;

    4.7.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). POST接口

    apiRouter.use(express.urlencoded({ extended: false }));
    
    apiRouter.post(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;/user&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, (req, res) => {
        const body = req.body;
        res.send({
            status: 0,
            msg: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;POST 请求成功&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;,
            data: body
        });
    })

    4.7.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). PUT接口

    4.7.4 DELETE接口

    4.7.5 区别

    https://blog.csdn.net/qq_4Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).85/article/details/Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).985Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).94

    https://zhuanlan.zhihu.com/p/Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).5454697

    五、跨域Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>5.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). CORSArtikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    5.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 原理

    概念:由Http响应头构成,决定浏览器是否阻止js代码获取资源,在服务器端配置

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    5.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 响应头

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    //只允许特定的域名访问、*代表全部
        res.setHeader(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Access-Control-Allow-Origin&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;http://www.baidu.com&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    //配置请求头信息
        res.setHeader(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Access-Control-Allow-Headers&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Content-Type,X-Custom-Header&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    //配置请求头方法 * 代表全部
        res.setHeader(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Access-Control-Allow-Methods&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;GET,POST,DELETE,PUT&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);

    5.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 分类

    (Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).)简单请求
    • 请求方式:GET、POST、HEAD
    • HTTP 头部信息不超过以下几种字段无自定义头部字段、Accept、Accept-Language、Content-Language、DPR、Downlink、Save-Data、Viewport-Width、Width 、Content-Type(只有三个值application/x-www-form-urlencoded、multipart/form-data、text/plain)
    • 客户端与服务器只发送一次请求
    (Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).)预检请求
    • 请求方式:GET、POST、HEAD之外的方式
    • 自定义头部字段
    • OPTION预检,成功后发送带有数据的请求
    5.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). JSONPArtikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    概念:只支持GET请求

    六、Mysql数据库Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    定义组织存储管理数据仓库

    6.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). SQL命令Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    6.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 查询

    select * from userswhere id>Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). and id <h4>
    <a id="6Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).__89Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)."></a>6.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 插入</h4><pre class="brush:php;toolbar:false">insert into users(username,password) values(Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;jackDieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;,Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;666Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;)

    6.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 更新

    update users set password=Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;666666Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;where username=Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;jackDieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;

    6.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..4 删除

    delete from users
    where id=9
    6.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Node.js使用Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    6.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 初始化

    • 导包:npm i mysql
    //引入mysql
    const mysql = require(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;mysql&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
    //建立数据库连接
    const db = mysql.createPool({
        url: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).7.0.0.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;,//数据库IP地址
        user: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;root&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;,//账号
        password: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).456&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;,//密码
        database: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;test_db&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;//操作哪一个数据库
    });

    6.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 查询

    const queryStr = &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;select * from users&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;;
    db.query(queryStr, (err, results) => {
        if (err) return console.log(err.message);
        console.log(results);
    })
    
    PS E:\FED\js\node.js\node.js—资料\day总复习\code> node .\Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).8-mysql操作.js
    [
      RowDataPacket { id: Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)., username: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;zz&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, password: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, status: 0 },
      RowDataPacket { id: Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)., username: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;ls&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, password: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;abc&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, status: 0 },
      RowDataPacket { id: 4, username: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;jony&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, password: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;456&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, status: 0 }
    ]

    6.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 插入

    const user = { username: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;superman&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, password: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;jknad&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9; };
    const insertStr = &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;insert into users set ?&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;;
    db.query(insertStr, user, (err, results) => {
        if (err) return console.log(err.message);
        if (results.affectedRows == Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).) {
            console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;插入数据成功&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
        }
    })
    //插入数据成功

    6.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..4 更新

    const user = { id: Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).0, username: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;super&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;, password: &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).456&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9; };
    const updateStr = &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;update users set ? where id=?&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;;
    db.query(updateStr, [user, user.id], (err, results) => {
        if (err) return console.log(err.message);
        if (results.affectedRows == Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).) {
            console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;更新数据成功&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
        }
    })

    6.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..5 删除

    (Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).) 一般删除
    const deleteStr = &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;delete from users where id=?&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;;
    db.query(deleteStr, Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).0, (err, results) => {
        if (err) return console.log(err.message);
        if (results.affectedRows == Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).) {
            console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;删除成功&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
        }
    })
    (Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).) 标记删除
    const deleteStr = &#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;update users set status=Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). where id=?&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;;
    db.query(deleteStr, Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).0, (err, results) => {
        if (err) return console.log(err.message);
        if (results.affectedRows == Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).) {
            console.log(&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;删除成功&#Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).9;);
        }
    })
    七、前后端的身份认证Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>7.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Web开发模式Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    7.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 基于服务端渲染的传统 Web 开发模式

    概念:服务端在后台拼接html页面,发送给客户端,不需要ajax

    特点

    • 前端耗时少
    • 有利于SEO
    • 占用服务端资源
    • 不利于前后端分离开发

    7.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 基于前后端分离的新型 Web 开发模式

    概念:后端提供API接口,前端通过ajax调用接口

    特点

    • 开发体验好
    • 用户体验好
    • 减轻服务器渲染压力
    • 不利于SEO

    不谈业务场景而盲目选择使用何种开发模式都是耍流氓

    • Zum Beispiel ist bei einer Website auf Unternehmensebene die Hauptfunktion die Anzeige ohne komplexe Interaktion und erfordert eine gute SEO, dann müssen wir serverseitiges Rendering verwenden 企业级网站,主要功能是展示而没有复杂的交互,并且需要良好的 SEO,则这时我们就需要使用服务器端渲染
    • 而类似后台管理项目交互性比较强,不需要考虑 SEO,那么就可以使用前后端分离的开发模式
    • 另外,具体使用何种开发模式并不是绝对的,为了同时兼顾了首页的渲染速度和前后端分离的开发效率,一些网站采用了首屏服务器端渲染 + 其他页面前后端分离的开发模式
    7.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). 身份认证Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    概念:通过不同的手段(验证码、密码、人脸、指纹...),认证客户的身份

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    7.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Session认证机制Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    7.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Cookie

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    Cookie:存储在浏览器不超过4KB字符串,键值对形式存储

    • 自动发送
    • 域名独立
    • 过期时限
    • 4KB限制
    • 容易伪造,不建议存放隐私数据

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    7.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Session

    核心会员卡+pos机认证

    Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    • npm install express-session
    • Ähnlich wie bei Backend-Management-Projekt ist Interaktivität relativ stark und es besteht keine Notwendigkeit, SEO zu berücksichtigen, dann können Sie es verwenden Das Entwicklungsmodell der Front-End- und Back-End-Trennung

    Darüber hinaus ist das zu verwendende spezifische Entwicklungsmodell nicht absolut, um sowohl die Rendering-Geschwindigkeit der Homepage als auch die zu berücksichtigen Entwicklungseffizienz der Front-End- und Front-End-Trennung. Einige Websites übernehmen den ersten Bildschirm. Serverseitiges Rendering + andere Entwicklungsmodelle mit Front-End- und Back-End-Trennung /strong>: Authentifizieren Sie die Identität des Kunden auf verschiedene Weise (Bestätigungscode, Passwort, Gesicht, Fingerabdruck...)Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).

    🎜7.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Sitzungsauthentifizierungsmechanismus hDieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).>

    7.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Cookie

    🎜Bildbeschreibung hier einfügen🎜🎜Cookie: Eine im Browser gespeicherte Zeichenfolge von nicht mehr als 4 KB, Schlüssel-Wert-PaarFormularspeicherung🎜🎜🎜Automatisch gesendet🎜 🎜Domänennamenunabhängig🎜🎜Ablaufzeitlimit🎜🎜4-KB-Limit🎜🎜Einfach zu fälschen, nicht zum Speichern von privaten Daten empfohlen🎜🎜🎜Bildbeschreibung hier einfügen🎜

    🎜7.Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text)..Dieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text). Sitzung

    🎜Kern: Mitgliedskarte + POS-Maschinenauthentifizierung🎜🎜Bildbeschreibung hier einfügen🎜🎜🎜npm install express-session🎜🎜🎜Weitere Informationen zu Knoten finden Sie unter: 🎜nodejs-Tutorial🎜 ! 🎜

    Das obige ist der detaillierte Inhalt vonDieser Artikel vermittelt Ihnen ein tiefgreifendes Verständnis von Node.js (ausführliche Erklärung mit Bildern und Text).. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen