回憶一下Node(隨時更改,想到什麼寫什麼)

  • 什麼是Node?前端

    • Node.js 是一個基於Chrome V8 引擎的JavaScript運行環境web

    • Node.js使用了一個事件驅動、非阻塞式I/O的模型,使其輕量又高效數據庫

      • 事件驅動: 任務執行,發佈者,訂閱者,事件驅動 ( on emit )express

      • 非阻塞: 執行某一個任務的同時也能夠執行其餘任務npm

      • I/O: 輸入/輸出( 數據庫操做,文件系統操做等 )json

      • 非阻塞I/O模型: 當咱們使用Node.js來實現數據庫操做、文件系統等操做時,要進行的異步操做,異步操做的核心傳統實現方式就是回調函數gulp

  • Node中流的概念:後端

    • 什麼是流?api

      • 流指的是數據流,是數據的分片傳輸跨域

    • 爲何Node中要有流呢?

      • 讓數據能夠實現非阻塞

    • 流使用的場景部分有哪些?

      • gulp就是最典型的例子

  • 前端模塊化:AMD,CMD,Commonjs

    • Node應用由模塊組成,採用Commonjs模塊規範

  • Node中哪些經常使用的內置模塊:

    • fs 模塊

      • Fs(文件系統)用於以模仿標準 POSIX 函數的方式與文件系統進行交互。

      • const fs = require('fs');使用fs模塊

      • const inp = fs.createReadStream();讀取文件內容,()裏面填寫的是路徑

      • const outp = fs.createWriteStream();流正在寫入的文件的路徑,()裏面填寫的是路徑

    • zlib模塊

      • zlib(壓縮)提供經過 Gzip 和 Deflate/Inflate 實現的壓縮功能

      • const zlib = require('zlib')使用壓縮模塊

      • const gzip = zlib.createGzip()建立一個空的壓縮包

    • http模塊

      • 要使用 HTTP 服務器和客戶端,必須使用http模塊const http = require( 'http' )

      • 後端服務器有兩種類型

        • 1. web服務器 【 靜態服務器 】
          2. api服務器 【 暴露接口 】api服務器的建立,須要使用一個第三方庫 express
      • 請求頭部報文

        • 1. general 請求基本信息
          2. response Headers 響應頭
          3. request Headers 請求頭
          4. 攜帶參數
          - query string paramters   get請求
          - form data post 請求
      • 爬蟲

         1.去某一個網站爬取一段數據 -> 數據清洗 -> 後端服務器 -> 發送前端 -> 渲染數據
        2.不是全部網站均可以爬取
        3.反爬蟲 :只需在數據中插入一些圖片,便可成爲最簡單的反爬蟲
        4.爬蟲只能爬取由後端渲染的網站
    • Event 模塊

      • 事件的發佈 發佈者 訂閱者 事件的訂閱

    • 第三方模塊

      • 從npm.js.com網站拉取第三方模塊

      • 安裝:

        • 在終端輸入npm init -y建立package.json文件

        • 再輸入npm i request -S/-D

      • 使用:

        • 好比request模塊(數據請求模塊) const request

        • request(url, ()=>{})

    • 自定義模塊

      • Const name = { name: 'name'} 建立模塊

      • module.exports.x = x 導出模塊

      • module.exports = {name}批量導出模塊

  • 後端解決跨域問題

    • 設置請求頭

      • 缺點:每一個接口都要設置請求頭跨域res.setHeader('Access-Control-Allow-Origin', '*');

    • 反向代理

      • 後端請求數據再發送給前端

    • 使用中間件

      • 須要使用第三方的包cors

  • Node.js讀取文件都是二進制(buffer/binary)

相關文章
相關標籤/搜索