日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

前端学习之路---node.js(二)

發布時間:2024/3/13 HTML 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 前端学习之路---node.js(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
  • 知識點? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?下一篇? ? vue(一)

  • ?網站開發模型
    ? + 黑盒子、啞巴
    ? + 寫代碼讓它變得更智能
    ? + 按照你設計好的套路供用戶使用
  • 客戶端渲染和服務端渲染的區別
    ? + 最少兩次請求,發起 ajax 在客戶端使用模板引擎渲染
    ? + 客戶端拿到的就是服務端已經渲染好的
  • 掌握如何解析請求路徑中的查詢字符串
    ? + url.parse()
  • 如何在 Node 中實現服務器重定向
    ? + header('location')
    ? ? * 301 永久重定向 瀏覽器會記住
    ? ? ? - a.com b.com
    ? ? ? - a 瀏覽器不會請求 a 了
    ? ? ? - 直接去跳到 b 了
    ? ? * 302 臨時重定向 瀏覽器不記憶
    ? ? ? - a.com b.com
    ? ? ? - a.com 還會請求 a
    ? ? ? - a 告訴瀏覽器你往 b
  • jQuery 的 each 和 原生的 JavaScript 方法 forEach
    ? + EcmaScript 5 提供的
    ? ? * 不兼容 IE 8
    ? + jQuery 的 each 由 jQuery 這個第三方庫提供
    ? ? * jQuery 2 以下的版本是兼容 IE 8 的
    ? ? * 它的 each 方法主要用來遍歷 jQuery 實例對象(偽數組)
    ? ? * 同時它也可以作為低版本瀏覽器中 forEach 替代品
    ? ? * jQuery 的實例對象不能使用 forEach 方法,如果想要使用必須轉為數組才可以使用
    ? ? * `[].slice.call(jQuery實例對象)`
  • 301 和 302 狀態碼區別
    ? + 301 永久重定向,瀏覽器會記住
    ? + 302 臨時重定向
  • exports 和 module.exports 的區別
    ? + 每個模塊中都有一個 module 對象
    ? + module 對象中有一個 exports 對象
    ? + 我們可以把需要導出的成員都掛載到 module.exports 接口對象中
    ? + 也就是:`moudle.exports.xxx = xxx` 的方式
    ? + 但是每次都 `moudle.exports.xxx = xxx` 很麻煩,點兒的太多了
    ? + 所以 Node 為了你方便,同時在每一個模塊中都提供了一個成員叫:`exports`
    ? + `exports === module.exports` 結果為 ?`true`s
    ? + 所以對于:`moudle.exports.xxx = xxx` 的方式 完全可以:`expots.xxx = xxx`
    ? + 當一個模塊需要導出單個成員的時候,這個時候必須使用:`module.exports = xxx` 的方式
    ? + 不要使用 `exports = xxx` 不管用
    ? + 因為每個模塊最終向外 `return` 的是 `module.exports`
    ? + 而 `exports` 只是 `module.exports` 的一個引用
    ? + 所以即便你為 `exports = xx` 重新賦值,也不會影響 `module.exports`
    ? + 但是有一種賦值方式比較特殊:`exports = module.exports` 這個用來重新建立引用關系的
    ? + 之所以讓大家明白這個道理,是希望可以更靈活的去用它
  • Node 是一個比肩 Java、PHP 的一個平臺
    ? + JavaScript 既能寫前端也能寫服務端
  • require 方法加載規則
    ? + 優先從緩存加載
    ? + 核心模塊
    ? + 路徑形式的模塊
    ? ? * `./xxx`
    ? ? * `../xxxx`
    ? ? * `/xxxx` / 在這里表示的是磁盤根路徑
    ? ? * `c:/xxx`
    ? + 第三方模塊
    ? ? * 第三方模塊的標識就是第三方模塊的名稱(不可能有第三方模塊和核心模塊的名字一致)
    ? ? * npm
    ? ? ? - 開發人員可以把寫好的框架、庫發布到 npm 上
    ? ? ? - 使用者在使用的時候就可以很方便的通過 npm 來下載
    ? ? * 使用方式:`var 名字 = require('npm install 的那個包名')`
    ? ? * node_modules
    ? ? * node_modules/express
    ? ? * node_modules/express/package.json
    ? ? * node_modules/express/package.json main
    ? ? * 如果 package.json 或者 package.json main 不成立,則查找備選項:index.js
    ? ? * 如果以上條件都不成立,則繼續進入上一級目錄中的 node_modules 按照上面的規則繼續查找
    ? ? * 如果直到當前文件模塊所屬磁盤根目錄都找不到,最后報錯:`can not find module xxx`
  • node中模塊系統? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?main.js里導入foo.js: // 默認得到的是對象 // 使用對象中的成員必須 . 點兒某個成員來訪問 // 有時候,對于一個模塊,我僅僅就是希望導出一個方法就可以了 var fooExports = require('./foo')// ReferenceError: foo is not defined // console.log(foo)console.log(fooExports)

    foo.js

    var foo = 'bar'function add(x, y) {return x + y }// 這種方式不行。 // exports = add// 如果一個模塊需要直接導出某個成員,而非掛載的方式 // 那這個時候必須使用下面這種方式 module.exports = 'hello'module.exports = function (x, y) {return x + y }module.exports = {add: function () {return x + y},str: 'hello' }// 你可以認為在每個模塊的最后 return 了這個 exports// 只能得到我想要給你的成員 // 這樣做的目的是為了解決變量命名沖突的問題 // exports.add = add// exports 是一個對象 // 我們可以通過多次為這個對象添加成員實現對外導出多個內部成員// exports.str = 'hello'

    ?

  • 模塊原理? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? main.js?

    var fooExports = require('./foo')console.log(fooExports)// 如果你實在分不清楚 exports 和 module.exports // 你可以選擇忘記 exports // 而只使用 module.exports 也沒問題 // // module.exports.xxx = xxx // moudle.exports = {}

    foo.js

    // 在 Node 中,每個模塊內部都有一個自己的 module 對象 // 該 module 對象中,有一個成員叫:exports 也是一個對象 // 也就是說如果你需要對外導出成員,只需要把導出的成員掛載到 module.exports 中// 我們發現,每次導出接口成員的時候都通過 module.exports.xxx = xxx 的方式很麻煩,點兒的太多了 // 所以,Node 為了簡化你的操作,專門提供了一個變量:exports 等于 module.exports// var module = { // exports: { // foo: 'bar', // add: function // } // }// 也就是說在模塊中還有這么一句代碼 // var exports = module.exports// module.exports.foo = 'bar'// module.exports.add = function (x, y) { // return x + y // }// 兩者一致,那就說明,我可以使用任意一方來導出內部成員 // console.log(exports === module.exports)// exports.foo = 'bar' // module.exports.add = function (x, y) { // return x + y // }// 當一個模塊需要導出單個成員的時候 // 直接給 exports 賦值是不管用的// exports.a = 123// exports = {} // exports.foo = 'bar'// module.exports.b = 456// 給 exports 賦值會斷開和 module.exports 之間的引用 // 同理,給 module.exports 重新賦值也會斷開// 這里導致 exports !== module.exports // module.exports = { // foo: 'bar' // }// // 但是這里又重新建立兩者的引用關系 // exports = module.exports// exports.foo = 'hello'// {foo: bar} exports.foo = 'bar'// {foo: bar, a: 123} module.exports.a = 123// exports !== module.exports // 最終 return 的是 module.exports // 所以無論你 exports 中的成員是什么都沒用 exports = {a: 456 }// {foo: 'haha', a: 123} module.exports.foo = 'haha'// 沒關系,混淆你的 exports.c = 456// 重新建立了和 module.exports 之間的引用關系了 exports = module.exports// 由于在上面建立了引用關系,所以這里是生效的 // {foo: 'haha', a: 789} exports.a = 789// 前面再牛逼,在這里都全部推翻了,重新賦值 // 最終得到的是 Function module.exports = function () {console.log('hello') }// 真正去使用的時候: // 導出多個成員:exports.xxx = xxx // 導出多個成員也可以:module.exports = { // } // 導出單個成員:module.exports// 誰來 require 我,誰就得到 module.exports // 默認在代碼的最后有一句: // 一定要記住,最后 return 的是 module.exports // 不是 exports // 所以你給 exports 重新賦值不管用, // return module.exports

    ?

  • ?package.json 包描述文件
    ? + 就是產品的說明書
    ? + `dependencies` 屬性,用來保存項目的第三方包依賴項信息
    ? + 所以建議每個項目都要有且只有一個 package.json (存放在項目的根目錄)
    ? + 我們可以通過 `npm init [--yes]` 來生成 package.json 文件
    ? + 同樣的,為了保存依賴項信息,我們每次安裝第三方包的時候都要加上:`--save` 選項。

  • npm 常用命令
    ? + install
    ? + uninstall

  • 路由設計

    | 請求方法 | 請求路徑 | get 參數 | post 參數 | 備注 | |----------|------------------|----------|--------------------------------|------------------| | GET | /studens | | | 渲染首頁 | | GET | /students/new | | | 渲染添加學生頁面 | | POST | /studens/new | | name、age、gender、hobbies | 處理添加學生請求 | | GET | /students/edit | id | | 渲染編輯頁面 | | POST | /studens/edit | | id、name、age、gender、hobbies | 處理編輯請求 | | GET | /students/delete | id | | 處理刪除請求 | | | | | | |

    ?

  • 模塊標識

    var fs = require('fs')// 咱們所使用的所有文件操作的 API 都是異步的 // 就像你的 ajax 請求一樣 // 文件操作中的相對路徑可以省略 ./ // fs.readFile('data/a.txt', function (err, data) { // if (err) { // return console.log('讀取失敗') // } // console.log(data.toString()) // })// 在模塊加載中,相對路徑中的 ./ 不能省略 // Error: Cannot find module 'data/foo.js' // require('data/foo.js')// require('./data/foo.js')('hello')// 在文件操作的相對路徑中 // ./data/a.txt 相對于當前目錄 // data/a.txt 相對于當前目錄 // /data/a.txt 絕對路徑,當前文件模塊所處磁盤根目錄 // c:/xx/xx... 絕對路徑 // fs.readFile('./data/a.txt', function (err, data) { // if (err) { // console.log(err) // return console.log('讀取失敗') // } // console.log(data.toString()) // })// 這里如果忽略了 . 則也是磁盤根目錄 require('/data/foo.js')

    ?

  • 封裝異步API

    // function fn(callback) { // // var callback = function (data) { console.log(data) }// // setTimeout(function () { // // var data = 'hello' // // return data // // }, 1000)// // var data = '默認數據' // // setTimeout(function () { // // data = 'hello' // // }, 1000) // // return data// setTimeout(function () { // var data = 'hello' // callback(data) // }, 1000) // }// // 調用 fn ,得到內部的 data // // console.log(fn())// // 如果需要獲取一個函數中異步操作的結果,則必須通過回調函數來獲取 // fn(function (data) { // console.log(data) // })function fn(callback) {// var callback = function (data) { console.log(data) }setTimeout(function () {var data = 'hello'callback(data)}, 1000) }// 如果需要獲取一個函數中異步操作的結果,則必須通過回調函數來獲取 fn(function (data) {console.log(data) })// $.get('dsadsadsa?foo=bar', function (data) { // })// $.ajax({ // url: 'dsadsa', // type: 'get', // data: { // foo: 'bar' // }, // // 使用者只負責傳遞,封裝這需要去調用 // success: function () {// } // })// function ajax(options) { // options.success(data) // }

    ?

  • 回調函數?

    ?

  • promiseAPI代碼圖示

    ?

  • promise鏈式調用

    ?

  • 回調函數
    ? + 異步編程
    ? + 如果需要得到一個函數內部異步操作的結果,這是時候必須通過回調函數來獲取
    ? + 在調用的位置傳遞一個函數進來
    ? + 在封裝的函數內部調用傳遞進來的函數

  • find、findIndex、forEach
    ? + 數組的遍歷方法,都是對函數作為參數一種運用
    ? ? + every
    ? + some
    ? + includes
    ? + map
    ? + reduce

  • ?package-lock.json 文件的作用
    ? + 下載速度快了
    ? + 鎖定版本

  • JavaScript 模塊化
    ? + Node 中的 CommonJS
    ? + 瀏覽器中的
    ? ? * AMD require.js
    ? ? * CMD sea.js
    ? + EcmaScript 官方在 EcmaScript 6 中增加了官方支持
    ? + EcmaScript 6
    ? + 后面我們會學,編譯工具

  • js中的一等公民函數?

    // 一種數據類型 // 參數 // 返回值 // 函數太靈活了,無所不能 // 一般情況下,把函數作為參數的目的就是為了獲取函數內部的異步操作結果 // JavaScript 單線程、事件循環function add(x, y) {return x + y }// add(10, 20)// console.log(1)// // 不會等待 // setTimeout(function () { // console.log(2) // console.log('hello') // }, 0)// console.log(3)function add(x, y, callback) {console.log(1)setTimeout(function () {var ret = x + ycallback(ret)}, 1000) }add(10, 20, function (ret) {console.log(ret) })// 注意:凡是需要得到一個函數內部異步操作的結果 // setTimeout // readFile // writeFile // ajax // 這種情況必須通過:回調函數

    ?

  • 封裝ajax方法

    <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><title>Document</title> </head><body><script>// setTimeout// readFile// wirteFile// readdir// ajax// 往往異步 API 都伴隨有一個回調函數// var ret = fn()// $.get('dsadas', fucntion () {})// var ret = $.get()function get(url, callback) {var oReq = new XMLHttpRequest()// 當請求加載成功之后要調用指定的函數oReq.onload = function () {// 我現在需要得到這里的 oReq.responseTextcallback(oReq.responseText)}oReq.open("get", url, true)oReq.send()}get('data.json', function (data) {console.log(data)})</script> </body></html>

    ?

  • ?find? 和 findIndex?

    // EcmaScript 6 對數組新增了很多方法 // find // findIndex// find 接收一個方法作為參數,方法內部返回一個條件 // find 會遍歷所有的元素,執行你給定的帶有條件返回值的函數 // 符合該條件的元素會作為 find 方法的返回值 // 如果遍歷結束還沒有符合該條件的元素,則返回 undefinedvar users = [{id: 1, name: '張三'},{id: 2, name: '張三'},{id: 3, name: '張三'},{id: 4, name: '張三'} ]Array.prototype.myFind = function (conditionFunc) {// var conditionFunc = function (item, index) { return item.id === 4 }for (var i = 0; i < this.length; i++) {if (conditionFunc(this[i], i)) {return this[i]}} }var ret = users.myFind(function (item, index) {return item.id === 2 })console.log(ret)

    ?

  • express處理404

    // Express 對于沒有設定的請求路徑,默認會返回 Cat not get xxx // 如果你想要定制這個 404 // 需要通過中間件來配置 // 咱們講中間件的時候說一下如何處理// 只需要在自己的路由之后增加一個 app.use(function (req, res) {// 所有未處理的請求路徑都會跑到這里// 404 })

    ?

  • callback

    var fs = require('fs')fs.readFile('./data/a.txt', 'utf8', function (err, data) {if (err) {// return console.log('讀取失敗')// 拋出異常// 1. 阻止程序的執行// 2. 把錯誤消息打印到控制臺throw err}console.log(data)fs.readFile('./data/b.txt', 'utf8', function (err, data) {if (err) {// return console.log('讀取失敗')// 拋出異常// 1. 阻止程序的執行// 2. 把錯誤消息打印到控制臺throw err}console.log(data)fs.readFile('./data/c.txt', 'utf8', function (err, data) {if (err) {// return console.log('讀取失敗')// 拋出異常// 1. 阻止程序的執行// 2. 把錯誤消息打印到控制臺throw err}console.log(data)})}) })

    ?

  • mongoose所有的API都支持promise

    var mongoose = require('mongoose')var Schema = mongoose.Schema// 1. 連接數據庫 // 指定連接的數據庫不需要存在,當你插入第一條數據之后就會自動被創建出來 mongoose.connect('mongodb://localhost/itcast')// 2. 設計文檔結構(表結構) // 字段名稱就是表結構中的屬性名稱 // 約束的目的是為了保證數據的完整性,不要有臟數據 var userSchema = new Schema({username: {type: String,required: true // 必須有},password: {type: String,required: true},email: {type: String} })// 3. 將文檔結構發布為模型 // mongoose.model 方法就是用來將一個架構發布為 model // 第一個參數:傳入一個大寫名詞單數字符串用來表示你的數據庫名稱 // mongoose 會自動將大寫名詞的字符串生成 小寫復數 的集合名稱 // 例如這里的 User 最終會變為 users 集合名稱 // 第二個參數:架構 Schema // // 返回值:模型構造函數 var User = mongoose.model('User', userSchema)// 4. 當我們有了模型構造函數之后,就可以使用這個構造函數對 users 集合中的數據為所欲為了(增刪改查) // ********************** // #region /新增數據 // ********************** // var admin = new User({ // username: 'zs', // password: '123456', // email: 'admin@admin.com' // })// admin.save(function (err, ret) { // if (err) { // console.log('保存失敗') // } else { // console.log('保存成功') // console.log(ret) // } // }) // ********************** // #endregion /新增數據 // **********************// ********************** // #region /查詢數據 // ********************** // User.find(function (err, ret) { // if (err) { // console.log('查詢失敗') // } else { // console.log(ret) // } // })// 用戶注冊 // 1. 判斷用戶是否存在 // 如果已存在,結束注冊 // 如果不存在,注冊(保存一條用戶信息) User.find().then(function (data) {console.log(data)})// User.findOne({ username: 'aaa' }, function (user) { // if (user) { // console.log('已存在') // } else { // new User({ // username: 'aaa', // password: '123', // email: 'dsadas' // }).save(function () {// }) // } // })// User.findOne({ // username: 'aaa' // }) // .then(function (user) { // if (user) { // // 用戶已存在,不能注冊 // console.log('用戶已存在') // } else { // // 用戶不存在,可以注冊 // return new User({ // username: 'aaa', // password: '123', // email: 'dsadas' // }).save() // } // }) // .then(function (ret) { // })// User.find({ // username: 'zs' // }, function (err, ret) { // if (err) { // console.log('查詢失敗') // } else { // console.log(ret) // } // })// User.findOne({ // username: 'zs' // }, function (err, ret) { // if (err) { // console.log('查詢失敗') // } else { // console.log(ret) // } // }) // ********************** // #endregion /查詢數據 // **********************// ********************** // #region /刪除數據 // ********************** // User.remove({ // username: 'zs' // }, function (err, ret) { // if (err) { // console.log('刪除失敗') // } else { // console.log('刪除成功') // console.log(ret) // } // }) // ********************** // #endregion /刪除數據 // **********************// ********************** // #region /更新數據 // ********************** // User.findByIdAndUpdate('5a001b23d219eb00c8581184', { // password: '123' // }, function (err, ret) { // if (err) { // console.log('更新失敗') // } else { // console.log('更新成功') // } // }) // ********************** // #endregion /更新數據 // **********************

    ?

  • MongoDB 數據庫
    ? + 靈活
    ? + 不用設計數據表
    ? + 業務的改動不需要關心數據表結構
    ? + DBA 架構師 級別的工程師都需要掌握這項技能
    ? ? * 設計
    ? ? * 維護
    ? ? * 分布式計算

  • mongoose
    ? + mongodb 官方包也可以操作 MongoDB 數據庫
    ? + 第三方包:WordPress 項目開發團隊
    ? + 設計 Schema
    ? + 發布 Model(得到模型構造函數)
    ? ? * 查詢
    ? ? * 增加
    ? ? * 修改
    ? ? * 刪除

  • Promise
    ? + http://es6.ruanyifeng.com/#docs/promise
    ? + callback hell 回調地獄
    ? + 回調函數中套了回調函數
    ? + Promise(EcmaScript 6 中新增了一個語法 API)
    ? + 容器
    ? ? * 異步任務(pending)
    ? ? * resolve
    ? ? * reject
    ? + then 方法獲取容器的結果(成功的,失敗的)
    ? + then 方法支持鏈式調用
    ? + 可以在 then 方法中返回一個 promise 對象,然后在后面的 then 方法中獲取上一個 then 返回的 promise 對象的狀態結果

  • path 模塊
    - __dirname 和 __filename

    var fs = require('fs') var path = require('path')// 一般在開發命令行工具的時候,這個設計是必須有用的一個特性 // npm // webpack // __dirname 和 __filename 這倆哥們兒就是專門用來動態的獲取當前文件以及文件所屬目錄的絕對路徑 fs.readFile(path.join(__dirname, './00-文件路徑.js'), function (err, data) {if (err) {throw err}console.log(data.toString()) })


    ? + **動態的** 獲取當前文件或者文件所處目錄的絕對路徑
    ? + 用來解決文件操作路勁的相對路徑問題
    ? + 因為在文件操作中,相對路徑相對于執行 `node` 命令所處的目錄
    ? + 所以為了盡量避免這個問題,都建議文件操作的相對路勁都轉為:**動態的絕對路徑**
    ? + 方式:path.join(__dirname, '文件名')

  • art-template 模板引擎(include、block、extend)
    ? + include
    ? + extend
    ? + block

  • 表單同步提交和異步提交區別
    ? + 字符串交互
    ? + 請求(報文、具有一定格式的字符串)
    ? + HTTP 就是 Web 中的溝通語言
    ? + 服務器響應(字符串)
    ? + 01
    ? + 服務器端重定向針對異步請求無效

  • ?Express 中配置使用 express-session 插件
    ? + 插件也是工具
    ? + 你只需要明確你的目標就可以了
    ? + 我們最終的目標就是使用 Session 來幫我們管理一些敏感信息數據狀態,例如保存登陸狀態
    ? + 寫 Session
    ? ? * req.session.xxx = xx
    ? + 讀 Session
    ? ? * req.session.xxx
    ? + 刪除 Session
    ? ? * req.session.xxx = null
    ? ? * 更嚴謹的做法是 `delete` 語法
    ? ? * delete req.session.xxx

  • 中間件

    var http = require('http') var url = require('url')var cookie = require('./middlewares/cookie') var postBody = require('./middlewares/post-body') var query = require('./middlewares/query') var session = require('./middlewares/session')var server = http.createServer(function (req, res) {// 解析表單 get 請求體// 解析表單 post 請求體// 解析 Cookie// 處理 Session// 使用模板引擎// console.log(req.query)// console.log(req.body)// console.log(req.cookies)// console.log(req.session)// 解析請求地址中的 get 參數// var urlObj = url.parse(req.url, true)// req.query = urlObj.queryquery(req, res)// 解析請求地址中的 post 參數// req.body = {// foo: 'bar'// }postBody(req, res)// 解析 Cookie// req.cookies = {// isLogin: true// }cookie(req, res)// 配置 Session// req.session = {}session(req, res)// 配置模板引擎res.render = function () {}if (req.url === 'xxx') {// 處理// query、body、cookies、session、render API 成員} else if (url === 'xx') {// 處理}// 上面的過程都是了為了在后面做具體業務操作處理的時候更方便 })server.listen(3000, function () {console.log('3000. running...') })

    ?

  • express-middleware

    var express = require('express')var app = express()// 中間件:處理請求的,本質就是個函數// 在 Express 中,對中間件有幾種分類// 當請求進來,會從第一個中間件開始進行匹配 // 如果匹配,則進來 // 如果請求進入中間件之后,沒有調用 next 則代碼會停在當前中間件 // 如果調用了 next 則繼續向后找到第一個匹配的中間件 // 如果不匹配,則繼續判斷匹配下一個中間件 // // 不關心請求路徑和請求方法的中間件 // 也就是說任何請求都會進入這個中間件 // 中間件本身是一個方法,該方法接收三個參數: // Request 請求對象 // Response 響應對象 // next 下一個中間件 // 當一個請求進入一個中間件之后,如果不調用 next 則會停留在當前中間件 // 所以 next 是一個方法,用來調用下一個中間件的 // 調用 next 方法也是要匹配的(不是調用緊挨著的那個)// app.use(function (req, res, next) { // console.log('1') // next() // })// app.use(function (req, res, next) { // console.log('2') // next() // })// app.use(function (req, res, next) { // console.log('3') // res.send('333 end.') // })// app.use(function (req, res, next) { // console.log(1) // next() // })// app.use('/b', function (req, res, next) { // console.log('b') // })// // 以 /xxx 開頭的路徑中間件 // app.use('/a', function (req, res, next) { // console.log('a') // next() // })// app.use(function (req, res, next) { // console.log('2') // next() // })// app.use('/a', function (req, res, next) { // console.log('a 2') // })// 除了以上中間件之外,還有一種最常用的 // 嚴格匹配請求方法和請求路徑的中間件 // app.get // app.postapp.use(function (req, res, next) {console.log(1)next() })app.get('/abc', function (req, res, next) {console.log('abc')next() })app.get('/', function (req, res, next) {console.log('/')next() })app.use(function (req, res, next) {console.log('haha')next() })app.get('/abc', function (req, res, next) {console.log('abc 2') })app.use(function (req, res, next) {console.log(2)next() })app.get('/a', function (req, res, next) {console.log('/a') })app.get('/', function (req, res, next) {console.log('/ 2') })// 如果沒有能匹配的中間件,則 Express 會默認輸出:Cannot GET 路徑app.listen(3000, function () {console.log('app is running at port 3000.') })

    ??

  • 總結

    以上是生活随笔為你收集整理的前端学习之路---node.js(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    在线看岛国av | 缴情综合网五月天 | 亚洲精品激情 | 婷婷丁香av | 国产成人av免费在线观看 | 久久久久99999 | 欧美伦理一区二区三区 | 国产成人av网站 | 日韩免费三级 | 久久手机精品视频 | av成人免费在线观看 | av超碰在线| 国产免码va在线观看免费 | 久久久久免费精品视频 | 久草com| 欧美a√在线 | 亚洲成色777777在线观看影院 | 久久综合久久伊人 | 免费av一级电影 | 婷婷在线免费 | www亚洲精品 | 久久综合桃花 | 久久不卡电影 | 00av视频 | 香蕉在线播放 | 国产精品久久久久av | 久久久久国产精品免费 | 一区二区三区 亚洲 | www.夜夜夜| 欧美日本高清视频 | 久久精品中文字幕少妇 | 亚洲另类在线视频 | 超级碰碰免费视频 | 在线成人短视频 | 国产尤物一区二区三区 | 91网站免费观看 | 日韩精品一区二区不卡 | 亚洲日本va午夜在线影院 | 最近最新中文字幕 | 国产精品18久久久久久久久久久久 | 中文字幕在线播放视频 | 在线观看中文字幕dvd播放 | 丰满少妇在线观看资源站 | 99精品视频在线观看播放 | 国产亚洲亚洲 | 国产精品综合久久久久 | 色狠狠干 | 亚洲电影网站 | 99视频在线精品国自产拍免费观看 | 日韩欧美一区视频 | 国产精品18久久久久久vr | 久久婷婷一区二区三区 | 久久九九久久 | 91成人在线看 | www.福利| 天天射网 | 深夜激情影院 | 国产精品电影在线 | 亚洲精品乱码久久久一二三 | 日韩在线电影观看 | 又黄又爽的视频在线观看网站 | 激情丁香5月 | www婷婷| 麻豆国产视频 | 人人插人人爱 | 网站你懂的| 成人黄色电影在线观看 | 亚洲欧洲一区二区在线观看 | 亚洲国产成人在线播放 | www.狠狠操| 国产一级在线看 | 人人插人人搞 | 伊人久久精品久久亚洲一区 | 中国老女人日b | 天天操夜夜操国产精品 | 日韩在线视频免费播放 | 狠狠色丁香婷婷综合久小说久 | 亚洲激情国产精品 | 中文字幕在线观看免费观看 | 亚洲精品成人网 | 精品久久久久久综合日本 | 美女网站视频久久 | 亚洲国产99 | 国产精品久久久久三级 | 国内精品小视频 | 亚洲国产视频网站 | 日韩精品一区二区三区免费观看视频 | 国产精品专区在线 | 91九色视频观看 | 五月天激情婷婷 | 波多野结衣视频一区二区三区 | 国产成人精品久久 | 人成午夜视频 | 天天夜操 | 在线免费观看视频一区 | 日日夜夜噜噜噜 | a级成人毛片| 99热这里只有精品8 久久综合毛片 | 国产色 在线 | 911久久| 特级西西www44高清大胆图片 | 免费电影一区二区三区 | 日本精品久久久久中文字幕 | 久久永久视频 | 五月综合激情婷婷 | 色综合色综合久久综合频道88 | 少妇性aaaaaaaaa视频 | 人人射人人射 | 成人影片在线免费观看 | 国产高清在线免费 | 久久精品看 | 欧美视频不卡 | 婷婷在线免费视频 | 五月婷婷丁香激情 | 中文网丁香综合网 | 国产精品久久久久久爽爽爽 | 五月天国产精品 | 国产中文字幕网 | 最近日本中文字幕a | 国产精品第十页 | 日韩免费在线观看视频 | 日韩性片 | 热久久这里只有精品 | 精品成人久久 | 91女子私密保健养生少妇 | 久久99精品热在线观看 | www.com.黄| 天天摸天天干天天操天天射 | 成人xxxx| 不卡av在线播放 | 免费特级黄色片 | 天天综合色网 | a爱爱视频| 精品久久久久久久久亚洲 | 日本在线观看一区 | 国产精品久久久久av免费 | 操操操av | 丰满少妇在线观看网站 | 热re99久久精品国产66热 | 波多野结衣小视频 | 天堂av高清 | 中文字幕一区二区三区视频 | 波多野结衣电影一区二区 | 亚洲五月婷 | 精品v亚洲v欧美v高清v | 日日干日日 | 久久国产欧美日韩 | 国产精品伦一区二区三区视频 | 一级黄色片在线免费看 | 欧美粗又大| 日韩一级片大全 | 中文字幕资源站 | 国产黄色免费电影 | 97在线公开视频 | 久久99操| 色婷婷视频在线观看 | 欧美精选一区二区三区 | 成人a免费看 | 国产精品igao视频网入口 | 九九热在线视频免费观看 | 国产精品porn | 国产精品99久久久久久武松影视 | 激情综合一区 | 免费一级特黄毛大片 | 亚洲精品美女在线观看播放 | 91成年视频 | 日韩专区一区二区 | 视频一区二区视频 | 欧美成人一二区 | 国产一级片久久 | 亚洲爱爱视频 | 天堂成人在线 | 丝袜美腿在线 | 亚洲蜜桃在线 | 最新色站 | 久久99精品国产一区二区三区 | 国产伦理久久精品久久久久_ | 久草在线最新 | 久草免费电影 | 久久特级毛片 | 在线视频日韩 | 97香蕉久久国产在线观看 | 99re久久资源最新地址 | 久久精品伊人 | 中文字幕超清在线免费 | 日韩乱色精品一区二区 | 成年人免费在线观看网站 | 免费av网站在线 | 99免费国产 | 99一区二区三区 | 一区二区精品在线 | 久久精品国产亚洲精品2020 | 免费高清在线观看成人 | 中文字幕黄色网址 | 伊人久在线 | 日本xxxx裸体xxxx17 | 日韩精品网址 | 在线之家免费在线观看电影 | 色精品视频 | 探花视频在线版播放免费观看 | 久久久久综合精品福利啪啪 | 精品国产大片 | 色婷婷综合视频在线观看 | 国产97视频在线 | 999国产| 高清一区二区三区av | 色五丁香| 久久手机精品视频 | 国产精品久久久久久久久久久不卡 | 午夜久久久久久久久久影院 | 特级西西444www高清大视频 | 久久成人午夜 | 久久99精品国产麻豆宅宅 | 日韩欧美一区二区在线 | 久久精品国产一区二区电影 | 国产成人精品亚洲精品 | 超碰精品在线观看 | 国产精品国产自产拍高清av | 久久久久久久久久久影视 | 在线视频成人 | 天天弄天天干 | 极品国产91在线网站 | 美女一区网站 | 国产精品av免费在线观看 | 五月激情六月丁香 | 亚洲自拍自偷 | 18av在线视频 | 成人在线免费小视频 | 天天操天天摸天天爽 | 亚洲性xxxx | 婷婷免费在线视频 | 久久99国产精品免费网站 | 中文字幕乱码亚洲精品一区 | 中文久久精品 | 免费看国产一级片 | 色综合亚洲精品激情狠狠 | 精品一区二区在线观看 | 日韩久久精品一区二区三区下载 | 国产免费作爱视频 | 日韩精品在线看 | 亚洲人在线7777777精品 | 91亚洲影院 | 成人小电影在线看 | 天天射天天干天天插 | 亚洲国内精品 | 99精品免费视频 | 国产精品 中文字幕 亚洲 欧美 | 成人a免费 | 亚洲成av人片一区二区梦乃 | 夜夜躁狠狠躁 | 日韩免费观看高清 | 成人va天堂 | 国产精品美女视频 | 欧亚日韩精品一区二区在线 | 日韩大陆欧美高清视频区 | 亚洲专区欧美专区 | 亚洲性少妇性猛交wwww乱大交 | 特级西西www44高清大胆图片 | 激情丁香综合五月 | 亚洲人成在线电影 | 在线导航福利 | 国产在线精品一区二区不卡了 | 久久成人国产精品入口 | 久草在线视频新 | 久久tv视频 | 天天摸天天干天天操天天射 | 17婷婷久久www | 免费97视频 | 天天干 天天摸 天天操 | 国产精品一区二区三区在线免费观看 | 日韩三级在线观看 | 欧美aa一级 | 在线观看中文字幕 | 激情影院在线 | 久久另类小说 | 欧美二区在线播放 | 久久一精品| 欧美日韩中文在线观看 | 成人国产精品入口 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 免费91在线| 国产一区视频免费在线观看 | 激情av一区二区 | 怡红院久久 | 天天躁日日躁狠狠躁av中文 | 国产999视频在线观看 | 这里只有精品视频在线观看 | 久久天天躁狠狠躁夜夜不卡公司 | 草在线视频| 国产精品成人一区二区 | 久久香蕉一区 | 日韩视频在线观看免费 | 亚洲黄色一级视频 | 天天爽夜夜爽精品视频婷婷 | 精品成人网 | 久久精品一二区 | 一级成人免费视频 | 久久69精品 | 狠狠操狠狠干天天操 | 成人试看120秒 | 日韩欧美一区二区三区在线观看 | 国产精品国产亚洲精品看不卡 | 国产精品久久久久久久久毛片 | 久久手机免费视频 | 最新日韩精品 | 在线影院 国内精品 | 久爱综合| 欧美日bb| 日韩一级黄色大片 | 日批网站免费观看 | av一级片网站 | 亚洲成av人影院 | 国产精品成人品 | 日日综合网 | 91av蜜桃 | 网址你懂的在线观看 | 成人啪啪18免费游戏链接 | 亚洲激情在线观看 | 免费成人在线网站 | 国产成人精品久久久 | 午夜视频在线观看网站 | 国产丝袜| 国产福利小视频在线 | 在线观看免费视频 | 婷婷综合伊人 | 91免费高清观看 | 深夜福利视频一区二区 | 色婷婷免费视频 | 91在线国内视频 | 免费在线国产 | 免费看精品久久片 | 瑞典xxxx性hd极品 | 99久热在线精品 | 丁香狠狠| 国产日韩欧美在线播放 | 一区二区三区高清在线 | 97视频免费在线 | 国产精品网红福利 | 国产精品毛片一区二区在线 | 国产高清免费在线观看 | 五月婷婷久久综合 | 天天干,夜夜爽 | 亚洲专区在线视频 | 亚洲精品国产区 | 日韩精品一区二区三区免费观看视频 | 精品黄色在线 | 在线观看亚洲精品 | 久久99精品国产91久久来源 | 天天操操操操操 | 99视频精品在线 | 久久国产午夜精品理论片最新版本 | 一级片黄色片网站 | 日本免费一二三区 | 午夜久久影视 | 中文字幕免费一区 | 日韩中文字幕免费视频 | 国产高清福利在线 | 国产精品久久久久一区二区三区共 | 国产高h视频 | 一区中文字幕电影 | 日韩久久久 | 日韩在线资源 | 国产中文字幕一区二区三区 | 日韩专区av| 不卡的av| 天天操婷婷 | 最近免费中文视频 | 亚洲九九影院 | 免费观看国产精品 | 国产成人久久77777精品 | 午夜久久精品 | 婷婷日日 | 999久久a精品合区久久久 | 91麻豆精品国产91久久久久久久久 | 黄色a在线 | 国产精品久久久久久久久久久久久 | 欧美成人中文字幕 | 中文字幕高清视频 | 日韩欧美高清一区二区 | 2019免费中文字幕 | 在线成人观看 | 91精品国产乱码在线观看 | 欧美日韩精 | www成人av| 日韩大片免费观看 | 国产精成人品免费观看 | 中文字幕在线成人 | 欧美91精品国产自产 | 五月在线视频 | 青青河边草观看完整版高清 | 欧美日韩二区在线 | 91精品国产九九九久久久亚洲 | 色久网| 欧美亚洲国产一卡 | www.亚洲视频 | 色视频在线 | 久久久久成人精品 | 一级片黄色片网站 | 99热这里精品| 中文欧美字幕免费 | avav99| 久久激情五月婷婷 | 精品久久久久久久久久国产 | 国产日韩av在线 | 91精品国产成人 | 中文字幕免费一区二区 | 久免费 | 97色涩 | 人人干97 | 去看片| 91九色丨porny丨丰满6 | 国产精品video | 香蕉色综合 | a级国产乱理论片在线观看 特级毛片在线观看 | 九九天堂 | 在线观看视频日韩 | 视频在线观看91 | 日日干综合 | 国产一级片久久 | 808电影| 亚洲精品电影在线 | 久久精久久精 | 波多野结衣视频一区 | 久久国产视屏 | 激情伊人五月天久久综合 | 久久这里只有精品23 | 国产精品黑丝在线观看 | 天天天干 | 色射爱 | 国产精品久久一卡二卡 | a√国产免费a | 久久毛片高清国产 | 激情久久久久 | 久久精品激情 | 色五丁香 | 九9热这里真品2 | 黄色av网站在线观看免费 | 久操视频在线播放 | 不卡的av中文字幕 | 亚洲精品免费播放 | 国产一级一片免费播放放a 一区二区三区国产欧美 | 亚洲九九九在线观看 | 中文字幕91在线 | 亚洲精品ww | 2020天天干天天操 | 亚洲精品一区二区在线观看 | 玖玖精品在线 | 在线激情小视频 | 午夜精品久久久久久99热明星 | 成人黄色片免费看 | 久久精品第一页 | 国产日本亚洲高清 | 欧美精品一区二区三区四区在线 | 久久视频精品在线观看 | www.福利视频 | 亚洲精品99久久久久中文字幕 | 国产精品一区二区美女视频免费看 | 久久午夜精品影院一区 | www国产亚洲精品久久网站 | 黄色国产高清 | 日韩乱码中文字幕 | 成人免费看片98欧美 | 国产二区免费视频 | 久久99精品久久久久久秒播蜜臀 | 欧美日韩免费一区二区 | 9999亚洲| 毛片888| 午夜av一区二区三区 | 国产精品高清在线 | 99精品毛片 | 免费高清在线视频一区· | 日韩av影视 | 日韩电影在线看 | 国产最新在线观看 | 97免费公开视频 | 99这里只有精品视频 | 亚洲国产成人久久 | 五月婷婷电影网 | 人人草在线观看 | 手机在线黄色网址 | 久草国产在线观看 | 一区二区三区中文字幕在线 | 亚洲人在线7777777精品 | 亚洲午夜大片 | www黄色av | 黄色国产在线观看 | 日韩欧美在线中文字幕 | 午夜精品久久久久久久久久久久 | 国产小视频福利在线 | 黄色视屏免费在线观看 | 波多野结衣一区三区 | 日本女人的性生活视频 | 麻豆免费视频网站 | av黄色av | 午夜日b视频 | 国产精品男女啪啪 | www.婷婷com| 最新av在线网站 | 伊人一级 | 国产999视频在线观看 | 国产精品视频永久免费播放 | 香蕉视频亚洲 | av一级二级 | 欧美成人亚洲成人 | 日韩精品一区在线观看 | 在线你懂的视频 | 色丁香婷婷 | 五月天婷婷丁香花 | 日韩在线观看一区二区 | 69xx视频 | 狠狠色丁香久久婷婷综合五月 | 最新日韩精品 | 国产一级免费片 | 日本精品va在线观看 | 99精品一级欧美片免费播放 | 日韩欧美一区二区在线观看 | 韩国中文三级 | 欧美成人精品在线 | 久久精品视频在线 | 国产精品久久麻豆 | 久久久久亚洲精品 | 久久精品久久99精品久久 | 日本精品在线看 | 色综合久久五月天 | 麻豆免费在线视频 | 日本爽妇网 | 99热国产精品 | 精品视频久久久久久 | 丁香视频 | 精品久久综合 | 91禁看片| 精品久久久久久国产偷窥 | 天天操夜夜操 | 五月婷婷综合在线 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 亚洲综合视频在线观看 | av高清在线| 粉嫩av一区二区三区免费 | 亚洲人成免费网站 | 国产资源免费在线观看 | 天天碰天天操 | 日韩av免费一区二区 | 四虎成人在线 | 二区三区av | 99色国产 | 中文字幕一区二区三区乱码不卡 | 日本午夜免费福利视频 | 欧美激情第28页 | 国产97在线观看 | 色综合天天色综合 | 天天干天天操天天拍 | 综合天天色 | 亚洲精品免费在线观看视频 | 久久免费视频7 | 免费午夜在线视频 | 亚洲精欧美一区二区精品 | 96精品视频 | 人人干天天射 | 色爱成人网 | 国产精品久久久久久吹潮天美传媒 | 欧美视频99 | 91看片在线 | 天天天综合 | 91精品1区2区 | 成年人免费看的视频 | 91理论片午午伦夜理片久久 | 最近中文字幕在线 | 成人精品视频久久久久 | 奇米777777| 亚洲视频1| 免费午夜网站 | se婷婷| 日韩综合一区二区三区 | 久久免费在线观看视频 | 伊人婷婷 | 亚洲国产一区二区精品专区 | 免费网站看v片在线a | 99夜色| 亚洲欧美观看 | 日韩乱理 | 激情欧美一区二区三区免费看 | 国产不卡片 | 狠狠躁日日躁 | 91九色国产在线 | 精品久久久久久国产91 | 九月婷婷色 | 亚洲精品影视在线观看 | 中国黄色一级大片 | 亚洲精品国偷拍自产在线观看蜜桃 | 狠狠干.com| 在线视频一区观看 | 亚洲成av人片在线观看香蕉 | 在线视频在线观看 | av超碰在线| 六月激情丁香 | 欧美日韩三级在线观看 | 丁香婷婷激情 | 国产一区网址 | 在线免费视 | 午夜视频免费在线观看 | 欧美精品久久久久久久久免 | 中文字幕一区二区三区四区 | 波多野结衣小视频 | 奇米四色影狠狠爱7777 | www.com久久 | 国产精品亚洲片夜色在线 | 国产免费a | 国产福利一区二区三区在线观看 | 又黄又刺激又爽的视频 | 粉嫩av一区二区三区免费 | 操一草| 91在线视频免费观看 | 久热久草在线 | 91精品久久久久久粉嫩 | 国产精品久久三 | 中文字幕久久网 | 成年人精品 | 成人a视频片观看免费 | 久久久久久免费 | 国产午夜三级一区二区三 | 国产成人a v电影 | 99九九热只有国产精品 | 在线免费观看麻豆 | www.黄色小说.com | 狠狠操电影网 | 国产精品国产精品 | 欧美一级视频免费 | 波多野结衣网址 | 99精品在线视频播放 | www.97色.com | 日韩电影一区二区三区在线观看 | 97国产| 91色蜜桃| 日韩乱码中文字幕 | 美女黄频在线观看 | 日韩欧美综合在线视频 | 久久老司机精品视频 | 麻豆视频www | 欧美视频二区 | 欧美91av| 精品视频网站 | 丁香六月激情 | 国产精品久久久久久一区二区 | 久久久久一区二区三区四区 | 国产精品区二区三区日本 | 日韩美精品视频 | 91精品无人成人www | 国产丝袜一区二区三区 | 久久亚洲热| 久久中文字幕导航 | 国产 一区二区三区 在线 | 7777xxxx| 国产第一页在线播放 | 国产精品视频线看 | 精品91久久久久 | 国产精品永久久久久久久久久 | 波多野结衣视频一区 | 五月婷婷综合在线观看 | 久久久精品欧美一区二区免费 | 国产99久久精品一区二区永久免费 | 国产99一区二区 | 亚洲一区二区三区91 | 久久久久久久久久久久99 | 欧美精品一区二区免费 | 成人免费视频视频在线观看 免费 | 99在线视频播放 | 成人一级免费视频 | 四虎影视成人永久免费观看视频 | 天天精品视频 | 91视频最新网址 | 久草精品在线观看 | 国产成人在线综合 | 欧美日韩在线视频免费 | 97久久久免费福利网址 | 色综合久久久久综合体 | 色婷婷国产精品一区在线观看 | 99在线精品观看 | 国产一区二区三区免费在线观看 | 中文字幕亚洲不卡 | 久久久久久久久久久久影院 | 欧美在线观看视频一区二区 | 国产精品视频在线看 | 日韩高清www| 手机看片国产 | 91精品啪在线观看国产线免费 | 欧美激情综合五月色丁香 | 欧美精品中文字幕亚洲专区 | 国产精品亚洲a | 欧美日韩中文国产一区发布 | 日日夜夜天天综合 | 日韩黄色免费在线观看 | 黄色国产高清 | 国产精品女人久久久 | 久久精品1区 | 精品一区中文字幕 | 91亚洲精品国产 | 成人在线电影观看 | 天天干人人 | 日韩在线观看电影 | 久久香蕉一区 | 中文字幕日韩精品有码视频 | 久久国产区 | 久久综合日 | 日韩理论影院 | 亚洲成a人片综合在线 | 久久久精品成人 | 黄色特级一级片 | 午夜骚影| 国产一区二区高清不卡 | 丝袜少妇在线 | 国产成人一区二区精品非洲 | 亚洲欧美色婷婷 | 精品嫩模福利一区二区蜜臀 | 99精品久久99久久久久 | 午夜av在线播放 | 亚州av网站大全 | 亚洲春色奇米影视 | 狠狠色丁香婷婷综合久久片 | 欧美综合色在线图区 | 超碰97人人干 | 日韩免费不卡av | 综合国产在线 | 国产精品美女免费看 | 韩国av电影在线观看 | 久久久精品福利视频 | 欧美日本中文字幕 | 久久国产经典 | 黄色一级免费 | 亚洲欧洲精品一区二区精品久久久 | 九九热中文字幕 | 亚洲精品一区二区三区在线观看 | 国产精品久久久电影 | 91丨精品丨蝌蚪丨白丝jk | 国产成人一区三区 | 成人三级网址 | 欧美色久| 色搞搞| 狠狠干夜夜操 | 欧美精品久久久久久久久久 | 国产成人久久精品亚洲 | 精品国产一区二区三区久久久久久 | 久久综合给合久久狠狠色 | 在线观看网站你懂的 | 人人澡人人爱 | 91av大全| 国产在线一区二区 | 久久成人久久 | 日韩一二区在线 | www日日夜夜| 日韩中文字幕在线观看 | 奇米影视8888 | 国产精品资源在线观看 | 精品在线亚洲视频 | 国产精品久久久久久吹潮天美传媒 | 日韩高清不卡在线 | 欧美在线视频二区 | 丁香资源影视免费观看 | 欧美成人h版在线观看 | 午夜精品导航 | 99热在线国产精品 | 黄色国产在线观看 | 天天色天天射天天干 | 亚洲精品网站 | 婷婷色中文字幕 | 丰满少妇一级 | 国产精品一区二区免费视频 | av高清免费在线 | aaawww | h文在线观看免费 | 国产一级精品绿帽视频 | 91丨九色丨蝌蚪丨老版 | 国产精品亚州 | 69精品在线观看 | 国内综合精品午夜久久资源 | 精品一二三四视频 | 中文字幕在线看视频 | 午夜电影久久 | 久久天天拍 | 国产裸体永久免费视频网站 | 四虎在线永久免费观看 | 天天摸日日摸人人看 | 国产福利一区二区在线 | 九色精品免费永久在线 | 国产伦精品一区二区三区无广告 | 欧美va天堂va视频va在线 | 国产人成一区二区三区影院 | 中文视频一区二区 | 中文字幕乱码电影 | av日韩国产 | 1024手机基地在线观看 | 亚洲精品毛片一级91精品 | 天天插天天色 | 91porny九色91啦中文 | 日韩欧美电影在线 | 久久系列| 欧美日韩视频在线一区 | 国产不卡在线观看视频 | 久久久精品欧美一区二区免费 | 午夜精品一二区 | 免费在线观看91 | 99久久精品久久久久久清纯 | 成人欧美一区二区三区在线观看 | 日韩av电影网站在线观看 | 天天爱天天射天天干天天 | 天天综合操 | 一区二区三区av在线 | 国产黄在线| 亚洲欧美成人在线 | 免费福利在线视频 | 看片的网址 | 精品夜夜嗨av一区二区三区 | 91视频午夜 | 国产专区在线视频 | 在线观看亚洲电影 | 在线电影a | 手机成人免费视频 | 午夜国产一区二区 | 精品久久久久久综合日本 | 日韩高清一区二区 | 亚洲免费a | 99久久久久国产精品免费 | 91人人爽久久涩噜噜噜 | 欧美a级在线 | 91女子私密保健养生少妇 | 精品视频成人 | 久久久久久国产精品免费 | 久草综合在线观看 | 天天色天天综合 | 99热精品在线 | 人人玩人人添人人 | 久久天天躁夜夜躁狠狠85麻豆 | 日韩午夜av电影 | 天天综合成人网 | 欧美日韩视频一区二区三区 | 黄网站app在线观看免费视频 | 国产中文字幕在线播放 | 在线成人小视频 | 久久久久久综合网天天 | 亚洲成av人片在线观看 | 国产精品久久久久久久av电影 | 男女拍拍免费视频 | 在线观看亚洲精品 | 日韩免费专区 | 国产精品99久久久久的智能播放 | 久久久久久久久久久网站 | 免费特级黄色片 | 最新日本中文字幕 | 亚色视频在线观看 | 久草在线免费资源站 | 日批在线看 | 亚洲在线免费视频 | 99久久久久久久久久 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 免费看黄色小说的网站 | 黄色三级久久 | 免费a v视频| 中文字幕久久久精品 | 午夜精品一区二区三区视频免费看 | 久久999久久 | 免费观看91视频大全 | 91一区啪爱嗯打偷拍欧美 | 天堂av观看| 黄色大片网 | 久久另类小说 | 亚洲综合色丁香婷婷六月图片 | 欧美一级片 | 日本最新高清不卡中文字幕 | 69国产盗摄一区二区三区五区 | 伊人狠狠 | 欧美日韩在线精品一区二区 | 久久理论电影网 | 日韩a级黄色 | 丁香电影小说免费视频观看 | 西西4444www大胆艺术 | 国产视 | 在线观看色网 | 亚洲理论在线观看电影 | 久久久视频在线 | 超碰激情在线 | 日韩一区二区三区观看 | 福利视频网址 | 日韩精品亚洲专区在线观看 | 国内精品久久久久久久久久清纯 | 91精品国产三级a在线观看 | 天天干婷婷 | 国产黄色精品在线 | 一区二区电影在线观看 | 久久99视频 | 国产精品电影一区二区 | 亚州精品在线视频 | 成人在线视频在线观看 | 热re99久久精品国产66热 | 日日操日日插 | 国内精品久久久久久久 | 激情视频二区 | 激情五月网站 | 日韩在线网址 | www.夜夜操.com | 国产精品一区在线观看 | 久久精品视频国产 | 亚洲第一色 | 日韩中文字幕一区 | 国产日韩在线一区 | 亚洲乱码精品久久久 | 黄色精品一区二区 | www.久久久 | 久艹视频在线观看 | 天天操天天干天天综合网 | av线上免费观看 | 免费成人在线视频网站 | 色婷婷激情电影 | 天天干干 | 天天干,天天插 | 精品视频在线免费 | 亚洲伦理电影在线 | 久久久久久久久久久久电影 | 毛片网在线 | 亚洲精品乱码久久久久久久久久 | 国产精品久久久久一区二区 | 欧洲色综合 | 人人爽人人舔 | 91在线欧美 | 深爱激情av | 国产综合视频在线观看 | 又黄又刺激的网站 | 亚洲h在线播放在线观看h | 亚洲精欧美一区二区精品 | 97视频在线免费播放 | 久久国产高清 | 在线久草视频 | 久久手机精品视频 | 丝袜美女视频网站 | 午夜视频免费在线观看 | 特黄免费av | 国产亚洲成人网 | 久久综合久久综合这里只有精品 | 欧美一二区视频 | 亚洲毛片一区二区三区 | 国产精久久久久久久 | 国产精品久久久久久久久久免费 | 久久精品欧美一区二区三区麻豆 | 免费观看www小视频的软件 | 特级黄录像视频 | 亚洲闷骚少妇在线观看网站 | 亚州精品一二三区 | 狠狠操欧美 | 91精品一区二区在线观看 | 欧美少妇xx | 国产成人精品一区二区三区在线 | 亚洲精品永久免费视频 | 日日夜夜免费精品 | 波多野结衣电影一区二区三区 | 亚洲3级 | 在线视频中文字幕一区 | 成人精品一区二区三区中文字幕 | 国产在线精品区 | 在线a亚洲视频播放在线观看 | 国产黄色av网站 | 成人黄色小说视频 | 精品久久久久久国产偷窥 | 少妇bbw揉bbb欧美 | 国内精品视频久久 | 欧美最猛性xxxxx亚洲精品 | 9在线观看免费高清完整 | 狠狠狠色丁香婷婷综合久久五月 | 337p欧美 | 久久美女高清视频 | 欧美成人中文字幕 | 国产成人久久精品77777综合 | 91精品国产麻豆 | 青青河边草观看完整版高清 | 在线国产黄色 | 一区二区三区久久 | 国产亚洲精品女人久久久久久 | 日韩中文字幕第一页 | 日本最新一区二区三区 | 国产蜜臀av | 亚洲欧美成人在线 | 成人在线观看你懂的 | 国产福利免费在线观看 | 日韩系列在线 | 久久久黄视频 | 成人av中文字幕 | 丁香激情综合国产 | 91视频麻豆视频 | 国产精品日韩欧美一区二区 | 久久一及片 | 91精品一区二区三区蜜桃 | 成人禁用看黄a在线 | 干av在线| 日韩欧美国产激情在线播放 | 久久99在线观看 | 午夜精品一区二区三区在线 | 国产日韩精品在线观看 | 亚州精品天堂中文字幕 | 日韩r级电影在线观看 | 美女黄久久 | 97爱爱爱 |