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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

NodeJs(尚硅谷视频学习笔记)

發布時間:2023/12/31 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NodeJs(尚硅谷视频学习笔记) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

內容來自尚硅谷Nodejs學習課件以及自己添加

課前預熱:CMD基本知識

1.命令行窗口(小黑屏)、CMD窗口、終端、shell

- 開始菜單 --> 運行 --> CMD --> 回車 - Win + R --> CMD --> 回車 - 常用的指令dir 列出當前目錄下的所有文件cd 目錄名 進入到指定的目錄md 目錄名 創建一個文件夾rd 目錄名 刪除一個文件夾 -目錄. 表示當前目錄.. 表示上一級目錄 -環境變量(window系統中的變量 )PATH 一個個的路徑C:\Program Files\Microsoft SQL Server\130\Tools\Binn\- 當我們在命令行窗口打開一個文件,或調用一個程序時,系統會首先在當前目錄下尋找文件程序,如果找到了則直接打開如果沒有找到則會依次到環境變量path的路徑中尋找,直到找到為止如果沒找到則報錯類似于作用域鏈-所以我們可以將一些經常需要訪問的程序和文件的路徑添加到path中,這樣我們就可以在任意位置來訪問這些文件和程序了

2.進程和線程

進程- 進程負責為程序的運行提供必備的環境- 進程就相當于工廠中的車間線程- 線程是計算機中最小的計算單位,線程負責執行進程中的程序- 線程就相當于工廠中的工人 單線程JS是單線程,在執行JS代碼的時候網頁是停止渲染的。 多線程主流的語言,如Java

Node.js簡介

? Node.js是一個能夠在服務器端運行JavaScript的開放源代碼、跨平臺JavaScript運行環境

? Node采用Google開發的V8引擎運行js代碼,使用事件驅動非阻塞異步I/O模型等技術來提高性能,可優化應用程序的傳輸量和規模。

? Node大部分基本模塊都用JavaScript編寫。在Node出現之前,JS通常作為客戶端程序設計語言使用,以JS寫出的程序常在用戶的瀏覽器上運行。

? 目前,Node已被IBM、Microsoft、Yahoo!、Walmart、Groupon、SAP、 LinkedIn、Rakuten、PayPal、Voxer和GoDaddy等企業采用。

? Node主要用于編寫像Web服務器一樣的網絡應用,這和PHP和Python是類似的。

? 但是Node與其他語言最大的不同之處在于,PHP等語言是阻塞的而Node是非阻塞的。

? Node是事件驅動的。開發者可以在不使用線程的情況下開發出一個能夠承載高并發的服務器。其他服務器端語言難以開發高并發應用,而且即使開發出來,性能也不盡人意。

? Node正是在這個前提下被創造出來。

? Node把JS的易學易用和Unix網絡編程的強大結合到了一起。

? Node.js允許通過JS和一系列模塊來編寫服務器端應用和網絡相關的應用。

? 核心模塊包括文件系統I/O、網絡(HTTP、TCP、UDP、DNS、TLS/SSL等)、二進制數據流、加密算法、數據流等等。Node模塊的API形式簡單,降低了編程的復雜度。

? 使用框架可以加速開發。常用的框架有Express.js、Socket.IO和Connect等。Node.js的程序可以在Microsoft Windows、Linux、Unix、Mac OS X等服務器上運行。

? Node.js也可以使用CoffeeScript、TypeScript、Dart語言,以及其他能夠編譯成JavaScript的語言編程。

Node的用途

? Web服務API,比如REST
? 實時多人游戲
? 后端的Web服務,例如跨域、服務器端的請求
? 基于Web的應用
? 多客戶端的通信,如即時通信

簡介總結

I/O (Input/Output)- I/O操作指的是對磁盤的讀寫操作Node- Node是對ES標準一個實現,Node也是一個JS引擎- 通過Node可以使js代碼在服務器端執行- Node僅僅對ES標準進行了實現,所以在Node中不包含DOM 和 BOM - Node中可以使用所有的內建對象String Number Boolean Math Date RegExp Function Object Array而BOM和DOM都不能使用但是可以使用 console 也可以使用定時器(setTimeout() setInterval())- Node可以在后臺來編寫服務器Node編寫服務器都是單線程的服務器- 進程- 進程就是一個一個的工作計劃(工廠中的車間)- 線程- 線程是計算機最小的運算單位(工廠中的工人)線程是干活的- 傳統的服務器都是多線程的- 每進來一個請求,就創建一個線程去處理請求- Node的服務器單線程的- Node處理請求時是單線程,但是在后臺擁有一個I/O線程池

在VScode中調出終端查看node.js代碼執行

使用快捷鍵: ctrl + ·

COMMONJS規范

ECMAScript標準的缺陷

? 沒有模塊系統
? 標準庫較少
? 沒有標準接口
? 缺乏管理系統

模塊化

? 如果程序設計的規模達到了一定程度,則必須對其進行模塊化。

? 模塊化可以有多種形式,但至少應該提供能夠將代碼分割為多個源文件的機制。

? CommonJS 的模塊功能可以幫我們解決該問題。

CommonJS規范

? CommonJS規范的提出,主要是為了彌補當前JavaScript沒有模塊化標準的缺陷。

? CommonJS規范為JS指定了一個美好的愿景,希望JS能夠在任何地方運行。

? CommonJS對模塊的定義十分簡單:

– 模塊引用
– 模塊定義
– 模塊標識

模塊引用

? 在規范中,定義了require()方法,這個方法接手模塊標識,以此將一個模塊引入到當前運行環境中。

? 模塊引用的示例代碼:
– var math = require(‘math’);

模塊定義

? 在運行環境中,提供了exports對象用于導出當前模塊的方法或者變量,并且它是唯一的導出的出口。

? 在模塊中還存在一個module對象,它代表模塊自身,而exports是module的屬性。

? 在Node中一個文件就是一個模塊。

exports.xxx = function() {}; module.exports = {};

模塊標識

? 模塊標識其實就是模塊的名字,也就是傳遞給require()方法的參數,它必須是符合駝峰命名法的字符串,或者是以.、…開頭的相對路徑、或者絕對路徑。

? 模塊的定義十分簡單,接口也十分簡潔。每個模塊具有獨立的空間,它們互不干擾,在引用時也顯得干凈利落。

模塊化總結

模塊化- 在Node中,一個js文件就是一個模塊- 在Node中,每一個js文件中的js代碼都是獨立運行在一個函數中而不是全局作用域,所以一個模塊的中的變量和函數在其他模塊中無法訪問03module.js//引入其他的模塊 /* 在node中,通過require()函數來引入外部的模塊require()可以傳遞一個文件的路徑作為參數,node將會自動根據該路徑來引入外部模塊這里路徑,如果使用相對路徑,必須以.或..開頭使用require()引入模塊以后,該函數會返回一個對象,這個對象代表的是引入的模塊我們使用require()引入外部模塊時,使用的就是模塊標識,我們可以通過模塊標識來找到指定的模塊 - 模塊分成兩大類核心模塊- 由node引擎提供的模塊- 核心模塊的標識就是,模塊的名字- 示例:var fs = require("fs");文件模塊- 由用戶自己創建的模塊- 文件模塊的標識就是文件的路徑(絕對路徑,相對路徑)相對路徑使用.或..開頭*/ //var md = require("./02.module"); var math = require("./math"); var fs = require("fs");//console.log(md); console.log(math.add(123,456)); //console.log(fs);02module.js /* 我們可以通過 exports 來向外部暴露變量和方法 只需要將需要暴露給外部的變量或方法設置為exports的屬性即可 */ //向外部暴露屬性或方法 exports.x = "我是02.module.js中的x"; exports.y = "我是y"; exports.fn = function () {};04module.js /* 在node中有一個全局對象 global,它的作用和網頁中window類似在全局中創建的變量都會作為global的屬性保存在全局中創建的函數都會作為global的方法保存當node在執行模塊中的代碼時,它會首先在代碼的最頂部,添加如下代碼function (exports, require, module, __filename, __dirname) {在代碼的最底部,添加如下代碼}實際上模塊中的代碼都是包裝在一個函數中執行的,并且在函數執行時,同時傳遞進了5個實參exports- 該對象用來將變量或函數暴露到外部require- 函數,用來引入外部的模塊module- module代表的是當前模塊本身- exports就是module的屬性- 既可以使用 exports 導出,也可以使用module.exports導出__filenameC:\Users\lilichao\WebstormProjects\class0705\01.node\04.module.js- 當前模塊的完整路徑__dirnameC:\Users\lilichao\WebstormProjects\class0705\01.node- 當前模塊所在文件夾的完整路徑*/ //console.log(global.a); /*arguments.callee- 這個屬性保存的是當前執行的函數對象 */ //console.log(arguments.callee + ""); //console.log(arguments.length);//console.log(exports); //console.log(module.exports == exports);console.log(__dirname);05module.js /* exports 和 module.exports- 通過exports只能使用.的方式來向外暴露內部變量exports.xxx = xxx- 而module.exports既可以通過.的形式,也可以直接賦值module.exports.xxx = xxxxmodule.exports = {}*/

Node的模塊實現

? Node中雖然使用的是CommonJS規范,但是其自身也對規范做了一些取舍。

? 在Node中引入模塊,需要經歷如下3個步驟:
– 路徑分析
– 文件定位
– 編譯執行

? 在Node中,模塊分為三類:一類是底層由C++編寫的內建模塊,一類是Node提供的核心模塊;還有一類是用戶編寫的模塊,稱為文件模塊。

包 package

? CommonJS的包規范允許我們將一組相關的模塊組合到一起,形成一組完整的工具。

? CommonJS的包規范由包結構和包描述文件兩個部分組成。

? 包結構
– 用于組織包中的各種文件

? 包描述文件
– 描述包的相關信息,以供外部讀取分析

包結構

? 包實際上就是一個壓縮文件,解壓以后還原為目錄。符合規范的目錄,應該包含如下文件:

– package.json 描述文件
– bin 可執行二進制文件
– lib js代碼
– doc 文檔
– test 單元測試

包描述文件

? 包描述文件用于表達非代碼相關的信息,它是一個JSON格式的文件 – package.json,位于包的根目錄下,是包的重要組成部分。

? package.json中的字段

– name、description、version、keywords、maintainers、contributors、bugs、licenses、repositories、dependencies、homepage、os、cpu、engine、builtin、directories、implements、scripts、author、bin、main、devDependencies。

在JSON文件不能寫注釋

NPM(Node Package Manager)

? CommonJS包規范是理論,NPM是其中一種實踐。

? 對于Node而言,NPM幫助其完成了第三方模塊的發布、安裝和依賴等。借助NPM,Node與第三方模塊之間形成了很好的一個生態系統。

NPM命令

? npm –v
– 查看版本
? npm
– 幫助說明
? npm search 包名
– 搜索模塊包
? npm install
–下載當前項目所依賴的包
? npm install 包名
– 在當前目錄安裝包
? npm install 包名 –g
– 全局模式安裝包(全局安裝的包一般都是一些工具)
? npm remove 包名
– 刪除一個模塊
? npm install 包名 --save
– 安裝包并添加到依賴中
? npm install 文件路徑
– 從本地安裝
? npm install 包名 –registry=地址
– 從鏡像源安裝
? npm config set registry 地址
– 設置鏡像源

NPM總結筆記

/*通過npm下載的包都放到node_modules文件夾中我們通過npm下載的包,直接通過包名引入即可node在使用模塊名字來引入模塊時,它會首先在當前目錄的node_modules中尋找是否含有該模塊如果有則直接使用,如果沒有則去上一級目錄的node_modules中尋找如果有則直接使用,如果沒有則再去上一級目錄尋找,直到找到為止直到找到磁盤的根目錄,如果依然沒有,則報錯*/

Buffer(緩沖區)

? 從結構上看Buffer非常像一個數組,它的元素為16進制的兩位數。
JS數組性能比其他語言的數組差

? 實際上一個元素就表示內存中的一個字節。

? 實際上Buffer中的內存不是通過JavaScript分配的,而是在底層通過C++申請的。

? 也就是我們可以直接通過Buffer來創建內存中的空間。

Buffer的操作

? 使用Buffer保存字符串

let str = "你好 atguigu"; let buf = Buffer.from(str , "utf-8");

? 創建指定大小的Buffer對象

let buf3 = Buffer.alloc(1024*8)

Buffer的轉換

Buffer與字符串間的轉換

– 支持的編碼:
? ASCII、UTF-8、UTF-16LE/UCS-2、Base64、Binary、Hex

– 字符串轉Buffer
? Buffer.from(str , [encoding]);

– Buffer轉字符串
? buf.toString([encoding] , [start] , [end]);

寫入操作

? 向緩沖區中寫入字符串
– buf.write(string[, offset[, length]][, encoding])

? 替換指定索引位置的數據
– buf[index]

? 將指定值填入到緩沖區的指定位置
– buf.fill(value[, offset[, end]][, encoding])

讀取操作

? 將緩沖區中的內容,轉換為一個字符串返回
– buf.toString([encoding[, start[, end]]])

? 讀取緩沖區指定索引的內容
– buf[index]

其他操作

? 復制緩沖區
– buf.copy(target[, targetStart[, sourceStart[, sourceEnd]]])

? 對緩沖區切片
– buf.slice([start[, end]])

? 拼接緩沖區
– Buffer.concat(list[, totalLength])

Buffer總結筆記

/*Buffer(緩沖區)- Buffer的結構和數組很像,操作的方法也和數組類似- 數組中不能存儲二進制的文件,而buffer就是專門用來存儲二進制數據- 使用buffer不需要引入模塊,直接使用即可- 在buffer中存儲的都是二進制數據,但是在顯示時都是以16進制的形式顯示buffer中每一個元素的范圍是從00 - ff 0 - 25500000000 - 11111111計算機 一個0 或一個1 我們稱為1位(bit)8bit = 1byte(字節)1024byte = 1kb1024kb = 1mb1024mb = 1gb1024gb = 1tbbuffer中的一個元素,占用內存的一個字節- Buffer的大小一旦確定,則不能修改,Buffer實際上是對底層內存的直接操作*/var str = "Hello 尚硅谷";//將一個字符串保存到buffer中 var buf = Buffer.from(str); //創建一個指定大小的buffer //buffer構造函數都是不推薦使用的 //var buf2 = new Buffer(10);//10個字節的buffer //console.log(buf2.length);//創建一個10個字節的buffer var buf2 = Buffer.alloc(10); //通過索引,來操作buf中的元素 buf2[0] = 88; buf2[1] = 255; buf2[2] = 0xaa; buf2[3] = 255;//只要數字在控制臺或頁面中輸出一定是10進制 //console.log(buf2[2].toString(16));/*for(var i=0 ; i<buf2.length ; i++){console.log(buf2[i]); }*///Buffer.allocUnsafe(size) 創建一個指定大小的buffer,但是buffer中可能含有敏感數據 /*var buf3 = Buffer.allocUnsafe(10); console.log(buf3);*//*Buffer.from(str) 將一個字符串轉換為bufferBuffer.alloc(size) 創建一個指定大小的BufferBuffer.alloUnsafe(size) 創建一個指定大小的Buffer,但是可能包含敏感數據buf.toString() 將緩沖區中的數據轉換為字符串*/var buf4 = Buffer.from("我是一段文本數據");console.log(buf4.toString());

fs(文件系統)

? 在Node中,與文件系統的交互是非常重要的,服務器的本質就將本地的文件發送給遠程的客戶端

? Node通過fs模塊來和文件系統進行交互

? 該模塊提供了一些標準文件訪問API來打開、讀取、寫入文件,以及與其交互。

? 要使用fs模塊,首先需要對其進行加載
– const fs = require("fs");

同步和異步調用

? fs模塊中所有的操作都有兩種形式可供選擇同步和異步。

? 同步文件系統會阻塞程序的執行,也就是除非操作完畢,否則不會向下執行代碼。

? 異步文件系統不會阻塞程序的執行,而是在操作完成時,通過回調函數將結果返回。

打開和關閉文件

? 打開文件

– fs.open(path, flags[, mode], callback) – fs.openSync(path, flags[, mode])

? 關閉文件

– fs.close(fd, callback) – fs.closeSync(fd)

打開狀態

寫入文件

? fs中提供了四種不同的方式將數據寫入文件
– 簡單文件寫入
– 同步文件寫入
– 異步文件寫入
– 流式文件寫入

簡單文件寫入

? fs.writeFile(file, data[, options], callback)
? fs.writeFileSync(file, data[, options])
? 參數:
– file 文件路徑
– data 被寫入的內容,可以是String或Buffer
– options 對象,包含屬性(encoding、mode、flag)
– callback 回調函數

同步文件寫入

? fs.writeSync(fd, buffer, offset, length[, position])
? fs.writeSync(fd, data[, position[, encoding]])
? 要完成同步寫入文件,先需要通過openSync()打開文件來獲取一個文件描述符,然后在通過writeSync()寫入文件。
? 參數
– fd 文件描述符,通過openSync()獲取
– data 要寫入的數據(String 或 Buffer)
– offset buffer寫入的偏移量
– length 寫入的長度
– position 寫入的起始位置
– encoding 寫入編碼

異步文件寫入

? fs.write(fd, buffer, offset, length[, position], callback)
? fs.write(fd, data[, position[, encoding]], callback)
? 要使用異步寫入文件,先需要通過open()打開文件,然后在回調函數中通過write()寫入。
? 參數:
– fd 文件描述符
– data 要寫入的數據(String 或 Buffer)
– offset buffer寫入的偏移量
– length 寫入的長度
– position 寫入的起始位置
– encoding 寫入編碼

流式文件寫入

? 往一個文件中寫入大量數據時,最好的方法之一是使用流。
? 若要將數據異步傳送到文件,首需要使用以下語法創建一個Writable對象:
– fs.createWriteStream(path[, options])
? path 文件路徑
? options {encoding:"",mode:"",flag:""}
? 一旦你打開了Writable文件流,就可以使用write()方法來寫入它,寫入完成后,在調用end()方法來關閉流。

讀取文件

? fs中提供了四種讀取文件的方式
– 簡單文件讀取
– 同步文件讀取
– 異步文件讀取
– 流式文件讀取

簡單文件讀取

? fs.readFile(file[, options], callback)
? fs.readFileSync(file[, options])
– 參數:
? file 文件路徑或文件描述符

? options <Object> | <String> – encoding <String> | <Null> 默認 = null – flag <String> 默認 = 'r' ? callback 回調函數,有兩個參數err 、data

同步文件讀取

? fs.readSync(fd, buffer, offset, length, position)
– 參數:
? fd 文件描述符
? buffer 讀取文件的緩沖區
? offset buffer的開始寫入的位置
? length 要讀取的字節數
? position 開始讀取文件的位置

異步文件讀取

? fs.read(fd, buffer, offset, length, position, callback)
– 參數:
? fd 文件描述符
? buffer 讀取文件的緩沖區
? offset buffer的開始寫入的位置
? length 要讀取的字節數
? position 開始讀取文件的位置
? callback 回調函數 參數err , bytesRead , buffer

流式文件讀取

? 從一個文件中讀取大量的數據時,最好的方法之一就是流式讀取,這樣將把一個文件作為Readable流的形式打開。
? 要從異步從文件傳輸數據,首先需要通過以下語法創建一個Readable流對象:
– fs.createReadStream(path[, options])
? path 文件路徑
? options {encoding:"",mode:"",flag:""}
? 當你打開Readable文件流以后,可以通過readable事件和read()請求,或通過data事件處理程序輕松地從它讀出。

其他操作

? 驗證路徑是否存在
– fs.exists(path,callback)
– fs.existsSync(path)
? 獲取文件信息
– fs.stat(path, callback)
– fs.statSync(path)
? 刪除文件
– fs.unlink(path, callback)
– fs.unlinkSync(path)
? 列出文件
– fs.readdir(path[, options], callback)
– fs.readdirSync(path[, options])
? 截斷文件
– fs.truncate(path, len, callback)
– fs.truncateSync(path, len)
? 建立目錄
– fs.mkdir(path[, mode], callback)
– fs.mkdirSync(path[, mode])
? 刪除目錄
– fs.rmdir(path, callback)
– fs.rmdirSync(path)
? 重命名文件和目錄
– fs.rename(oldPath, newPath, callback)
– fs.renameSync(oldPath, newPath)
? 監視文件更改寫入
– fs.watchFile(filename[, options], listener)

fs總結筆記

/*文件系統(File System)- 文件系統簡單來說就是通過Node來操作系統中的文件- 使用文件系統,需要先引入fs模塊,fs是核心模塊,直接引入不需要下載同步文件的寫入- 手動操作的步驟1.打開文件fs.openSync(path, flags[, mode])- path 要打開文件的路徑- flags 打開文件要做的操作的類型r 只讀的w 可寫的- mode 設置文件的操作權限,一般不傳返回值:- 該方法會返回一個文件的描述符作為結果,我們可以通過該描述符來對文件進行各種操作2.向文件中寫入內容fs.writeSync(fd, string[, position[, encoding]])- fd 文件的描述符,需要傳遞要寫入的文件的描述符- string 要寫入的內容- position 寫入的起始位置- encoding 寫入的編碼,默認utf-83.保存并關閉文件fs.closeSync(fd)- fd 要關閉的文件的描述符*/ var fs = require("fs");//打開文件 var fd = fs.openSync("hello.txt" , "w");//向文件中寫入內容 fs.writeSync(fd , "今天天氣真不錯~~~", 2);//關閉文件 fs.closeSync(fd);console.log("程序向下執行~~~"); /**異步文件寫入fs.open(path, flags[, mode], callback)- 用來打開一個文件- 異步調用的方法,結果都是通過回調函數的參數返回的- 回調函數兩個參數:err 錯誤對象,如果沒有錯誤則為nullfd 文件的描述符fs.write(fd, string[, position[, encoding]], callback)- 用來異步寫入一個文件fs.close(fd, callback)- 用來關閉文件*///引入fs模塊 var fs = require("fs");//打開文件 fs.open("hello2.txt","w",function (err , fd) {//判斷是否出錯if(!err){//如果沒有出錯,則對文件進行寫入操作fs.write(fd,"這是異步寫入的內容",function (err) {if(!err){console.log("寫入成功~~");}//關閉文件fs.close(fd , function (err) {if(!err){console.log("文件已關閉~~~");}});});}else{console.log(err);} });console.log("程序向下執行~~~"); /*簡單文件寫入fs.writeFile(file, data[, options], callback)fs.writeFileSync(file, data[, options])- file 要操作的文件的路徑- data 要寫入的數據- options 選項,可以對寫入進行一些設置- callback 當寫入完成以后執行的函數- flagr 只讀w 可寫a 追加*/ //引入fs模塊 var fs = require("fs");/*fs.writeFile("hello3.txt","這是通過writeFile寫入的內容",{flag:"r+"} , function (err) {if(!err){console.log("寫入成功~~~");}else{console.log(err);} });*///C:\Users\lilichao\Desktop\hello.txt //C:\\Users\\lilichao\\Desktop\\hello.txtfs.writeFile("C:/Users/lilichao/Desktop/hello.txt","這是通過writeFile寫入的內容",{flag:"w"} , function (err) {if(!err){console.log("寫入成功~~~");}else{console.log(err);} }); /*同步、異步、簡單文件的寫入都不適合大文件的寫入,性能較差,容易導致內存溢出*/ var fs = require("fs");//流式文件寫入 //創建一個可寫流 /*fs.createWriteStream(path[, options])- 可以用來創建一個可寫流- path,文件路徑- options 配置的參數*/ var ws = fs.createWriteStream("hello3.txt");//可以通過監聽流的open和close事件來監聽流的打開和關閉 /*on(事件字符串,回調函數)- 可以為對象綁定一個事件once(事件字符串,回調函數)- 可以為對象綁定一個一次性的事件,該事件將會在觸發一次以后自動失效* */ ws.once("open",function () {console.log("流打開了~~~"); });ws.once("close",function () {console.log("流關閉了~~~"); });//通過ws向文件中輸出內容 ws.write("通過可寫流寫入文件的內容"); ws.write("今天天氣真不錯"); ws.write("鋤禾日當午"); ws.write("紅掌撥清清"); ws.write("清清真漂亮");//關閉流,關閉寫的那個文件的管口 ws.end(); //關閉流,關閉讀的那個文件的管口 /*1.同步文件讀取2.異步文件讀取3.簡單文件讀取fs.readFile(path[, options], callback)fs.readFileSync(path[, options])- path 要讀取的文件的路徑- options 讀取的選項- callback回調函數,通過回調函數將讀取到內容返回(err , data)err 錯誤對象data 讀取到的數據,會返回一個Buffer4.流式文件讀取*/var fs = require("fs");var path = "C:/Users/lilichao/Desktop/筆記.mp3";fs.readFile("an.jpg" , function (err , data) {if(!err){//console.log(data);//將data寫入到文件中fs.writeFile("C:/Users/lilichao/Desktop/hello.jpg",data,function(err){if(!err){console.log("文件寫入成功");}} );} }); /*流式文件讀取也適用于一些比較大的文件,可以分多次將文件讀取到內存中*/var fs = require("fs");//創建一個可讀流 var rs = fs.createReadStream("C:/Users/lilichao/Desktop/筆記.mp3"); //創建一個可寫流 var ws = fs.createWriteStream("a.mp3");//監聽流的開啟和關閉 rs.once("open",function () {console.log("可讀流打開了~~"); });rs.once("close",function () {console.log("可讀流關閉了~~");//數據讀取完畢,關閉可寫流ws.end(); });ws.once("open",function () {console.log("可寫流打開了~~"); });ws.once("close",function () {console.log("可寫流關閉了~~"); });//如果要讀取一個可讀流中的數據,必須要為可讀流綁定一個data事件,data事件綁定完畢,它會自動開始讀取數據 rs.on("data", function (data) {//console.log(data);//將讀取到的數據寫入到可寫流中ws.write(data); }); /*流式文件讀取也適用于一些比較大的文件,可以分多次將文件讀取到內存中*/var fs = require("fs");//創建一個可讀流 var rs = fs.createReadStream("C:/Users/lilichao/Desktop/筆記.mp3"); //創建一個可寫流 var ws = fs.createWriteStream("b.mp3");//pipe()可以將可讀流中的內容,直接輸出到可寫流中 rs.pipe(ws); node- 包(package)- 將多個模塊組合為一個完整的功能,就是一個包- 包結構bin- 二進制的可執行文件,一般都是一些工具包中才有lib- js文件doc- 文檔test- 測試代碼package.json- 包的描述文件- package.json - 它是一個json格式的文件,在它里面保存了包各種相關的信息name 包名version 版本dependencies 依賴main 包的主要的文件bin 可執行文件- npm(Node Package Manager node的包管理器)- 通過npm可以對node中的包進行上傳、下載、搜索等操作- npm會在安裝完node以后,自動安裝- npm的常用指令npm -v 查看npm的版本npm version 查看所有模塊的版本npm init 初始化項目(創建package.json)npm i/install 包名 安裝指定的包npm i/install 包名 --save 安裝指定的包并添加依賴npm i/install 包名 -g 全局安裝(一般都是一些工具)npm i/install 安裝當前項目所依賴的包npm s/search 包名 搜索包 npm r/remove 包名 刪除一個包文件系統(File System)- Buffer(緩沖區)- Buffer和數組的結構的非常類似,Buffer是用來存儲二進制數據的- Buffer的方法- Buffer.from(字符串)- 將一個字符串中內容保存到一個buffer中- buf.toString()- 將buffer轉換為一個字符串- Buffer.alloc(size)- 創建一個指定大小的buffer對象- Buffer.allocUnsafe(size)- 創建一個指定大小的buffer對象,可以包含敏感數據- fs模塊- 在Node通過fs模塊來對系統中的文件進行操作,fs模塊是node中已經繼承好了,不需要在使用npm下載,直接引入即可- 引入fsvar fs = require("fs");- fs模塊中的大部分操作都提供了兩種方法,同步方法和異步方法同步方法帶sync異步方法沒有sync,都需要回調函數- 寫入文件1.同步寫入2.異步寫入3.簡單寫入4.流式寫入- 讀取文件1.同步讀取2.異步讀取3.簡單讀取4.流式讀取- 方法- 打開文件fs.open(path, flags[, mode], callback)fs.openSync(path, flags[, mode])- 讀寫文件fs.write(fd, string[, position[, encoding]], callback)fs.writeSync(fd, string[, position[, encoding]])fs.read(fd, buffer, offset, length, position, callback)fs.readSync(fd, buffer, offset, length, position)- 關閉文件fs.close(fd,callback)fs.closeSync(fd);- 簡單文件讀取和寫入fs.writeFile(file, data[, options], callback)fs.writeFileSync(file, data[, options])fs.readFile(path[, options], callback)fs.readFileSync(path[, options])- 流式文件讀取和寫入- 流式讀取和寫入適用于一些比較大的文件fs.createWriteStream(path[, options])fs.createReadStream(path[, options])

總結

以上是生活随笔為你收集整理的NodeJs(尚硅谷视频学习笔记)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久狠狠亚洲综合 | 日韩av中文在线观看 | 亚洲日本va午夜在线电影 | 精品国产成人 | 手机在线日韩视频 | 在线国产能看的 | 国产又粗又猛又黄又爽视频 | 99久热在线精品视频观看 | 欧美9999| 99久久精品国产免费看不卡 | 日韩一级理论片 | 免费看一级一片 | 久久夜色精品国产欧美一区麻豆 | 久久久伦理 | 精品久久久久久久久久国产 | 欧美老女人xx | www.com操| 高清av中文在线字幕观看1 | 婷婷色婷婷 | 亚洲精品国偷自产在线91正片 | 亚洲成aⅴ人片久久青草影院 | 久久天天躁 | 午夜精品在线看 | 在线激情影院一区 | 国产成人在线播放 | 91麻豆精品国产91久久久久久久久 | 久久99精品视频 | 草久草久 | 亚洲三级在线播放 | 国产精品入口麻豆www | 国产精品美女在线观看 | 97超碰人人澡 | 久久99精品热在线观看 | 丁香婷婷社区 | 中文字幕一区二区三 | 日本久久久久久久久 | 狠狠干夜夜爱 | 91福利在线导航 | bbbbb女女女女女bbbbb国产 | 日韩精品视频免费专区在线播放 | 狠狠色噜噜狠狠狠狠2021天天 | 欧美一区免费观看 | 又黄又网站 | 91大片网站| 激情丁香综合五月 | 久久人91精品久久久久久不卡 | 欧美与欧洲交xxxx免费观看 | 久久免费av电影 | www.黄色小说.com | 国产欧美精品一区aⅴ影院 99视频国产精品免费观看 | 久久这里只有精品9 | 91av大全| 国产成人一区二区三区电影 | 久久久久久久免费 | 成人av电影免费在线观看 | 97色噜噜 | 亚洲国产大片 | 91大神电影 | 国产精彩在线视频 | 国产亚洲午夜高清国产拍精品 | 欧美精品一区二区在线播放 | 丁香婷婷激情 | 欧美疯狂性受xxxxx另类 | 干综合网 | 精品一区二区在线免费观看 | 狠狠干综合网 | 国产理论免费 | 亚州精品一二三区 | 日b黄色片 | 亚洲精品在线免费 | 在线播放视频一区 | 国产一区在线视频播放 | 亚洲草视频 | 色综合久久久久综合 | 国产美女精品人人做人人爽 | 91资源在线观看 | 精品亚洲视频在线观看 | japanese黑人亚洲人4k | 激情久久影院 | 天天爽天天碰狠狠添 | 99久久精品午夜一区二区小说 | 九九欧美 | 97精品在线视频 | 二区视频在线观看 | 日本久久电影网 | 国产高清在线a视频大全 | 国产黄色精品在线 | 国产精品久久久久久69 | 日韩中文字幕国产 | 高清精品视频 | 91精品福利在线 | 天天插天天操天天干 | 色综合久久88色综合天天6 | 日韩精品中字 | 日韩成人在线免费观看 | 99久久9| 9999免费视频 | 在线国产精品视频 | 少妇18xxxx性xxxx片 | 91女神的呻吟细腰翘臀美女 | 欧美激情视频在线免费观看 | 免费av试看| 精品国产乱码久久 | 91九色老 | 国产区在线看 | av黄色av | www.久草视频 | 国内外成人在线视频 | 91精品视频在线免费观看 | 一区二区三区中文字幕在线观看 | 视频在线播放国产 | 欧美日韩免费在线观看视频 | 久久国产99| 天堂av观看 | 精品视频久久久久久 | 成人av网址大全 | 免费av福利 | 亚洲在线日韩 | 在线播放你懂 | 国产精品一区二区在线观看免费 | 国内精品久久久久久 | 夜色资源站国产www在线视频 | 超碰97在线看 | 视频一区在线播放 | 亚洲国内在线 | 婷婷久久精品 | 一区二区视频欧美 | 在线视频欧美精品 | 日韩欧美精品一区二区 | 玖玖玖影院 | 国产五月色婷婷六月丁香视频 | 国产一区二区在线免费观看 | 激情欧美丁香 | 国产网红在线观看 | 丁香激情视频 | 久草视频在线免费看 | 人人爽人人片 | 久久天堂精品视频 | 操操日日 | 天天射天天操天天干 | 欧美性色黄大片在线观看 | 免费手机黄色网址 | 黄色一级大片在线免费看国产一 | 中文字幕一区二区三区乱码在线 | 夜夜躁狠狠躁日日躁视频黑人 | 1区2区视频| 精品少妇一区二区三区在线 | 91精品1区| 米奇狠狠狠888 | 亚洲欧美日韩一区二区三区在线观看 | 91在线播放国产 | 午夜精品三区 | 一区二区三区污 | 91人人在线 | 夜夜夜影院 | 欧美一区二区三区在线播放 | 久久精品中文字幕 | 婷婷久久丁香 | 亚洲乱码国产乱码精品天美传媒 | 激情校园亚洲 | 成人福利在线播放 | 日韩视频免费在线 | 国产系列 在线观看 | 亚洲日韩精品欧美一区二区 | 国产精品久久久久久爽爽爽 | 久久久久国产精品免费 | 久久午夜网 | 久久久久久久久久久久久久av | av在线精品 | 国产精品久久久一区二区三区网站 | 视频在线日韩 | 波多野结衣在线观看一区 | 日韩精品久久久久久久电影99爱 | 中文资源在线播放 | 国产美女视频免费观看的网站 | 最近中文字幕免费观看 | 欧美国产日韩一区二区三区 | 国产一级免费av | 亚州天堂 | 美女网站在线免费观看 | 久久成人国产精品免费软件 | 日韩伦理片一区二区三区 | 天天干天天操天天做 | 国产在线观看地址 | www.五月天婷婷.com | 日韩电影在线观看一区二区三区 | 蜜臀精品久久久久久蜜臀 | 精品国产aⅴ麻豆 | 高清免费在线视频 | 一区二区精品 | 久久热亚洲 | 国产色a在线观看 | 在线观看成人 | 国产精品观看 | 99精品在线观看 | 亚洲欧美成人 | 国产精品麻豆三级一区视频 | 91漂亮少妇露脸在线播放 | 久久成人综合视频 | 欧美激情视频在线免费观看 | 亚洲精品国久久99热 | 成 人 a v天堂| 91成人国产| 亚洲视频免费 | 99视频在线免费看 | 中文字幕在线色 | av免费网站观看 | 国产一级二级视频 | 91免费版在线观看 | 欧美日韩国产精品一区二区三区 | 久久1电影院 | 少妇精69xxtheporn | 亚洲精选视频免费看 | 天天爱综合 | 欧美精品中文字幕亚洲专区 | 日本三级久久久 | 日日综合网 | 2019精品手机国产品在线 | 国产麻豆剧果冻传媒视频播放量 | 久久久久久久久久久黄色 | 91在线播放视频 | 5月丁香婷婷综合 | 日韩免费视频线观看 | 在线观看精品一区 | 91一区二区三区久久久久国产乱 | 欧美日韩在线免费观看视频 | 亚洲激情综合 | 92国产精品久久久久首页 | 国产精品久久久久一区二区三区 | 成人毛片一区二区三区 | 视频在线一区 | 成人全视频免费观看在线看 | 九九欧美视频 | 久久久污 | 日韩色中色 | 国内精品久久久久久久影视麻豆 | 天天射综合网站 | 超碰国产人人 | 成人在线黄色 | 美腿丝袜一区二区三区 | 午夜视频久久久 | 在线免费观看黄色小说 | 欧美日韩精品国产 | 99精品视频精品精品视频 | 在线观看电影av | 99视频精品视频高清免费 | 豆豆色资源网xfplay | 久久婷婷精品 | 狠狠色噜噜狠狠狠 | 亚洲污视频| 日韩精品视频免费专区在线播放 | 久久久久久久久久久久电影 | 99在线精品视频观看 | 激情五月综合网 | 91中文字幕在线 | 免费看黄色毛片 | 日韩在线观看小视频 | 在线观看韩日电影免费 | 91精品久| 五月天色网站 | 欧美99精品| 中文字幕视频观看 | 国内视频1区| 国产精品av电影 | 国产精品系列在线播放 | 久久成人欧美 | 日韩网站在线播放 | 丁香电影小说免费视频观看 | 免费高清在线观看成人 | 色诱亚洲精品久久久久久 | 福利一区在线视频 | 亚洲全部视频 | 日韩av网页 | 久久福利综合 | av电影免费看 | 欧美片一区二区三区 | 成人午夜影视 | 久久夜色精品国产欧美乱极品 | 久久久久99精品成人片三人毛片 | 国产一区视频在线 | 麻豆成人精品 | 91精品视频免费观看 | 久久国产精品99国产 | 国产精品久久久久久久久久免费 | 日韩一区二区免费视频 | 婷婷在线色 | 爱干视频| 亚洲禁18久人片 | 91成人网在线观看 | 日日夜夜精品免费 | 在线中文字幕观看 | 国产精品视频免费看 | 91精品视屏 | 超碰免费观看 | 国产精品自在线拍国产 | 香蕉久久久久久av成人 | 天天色草| 国产精品久久久久久999 | 黄色成人毛片 | 成人在线播放网站 | 曰本三级在线 | 日韩日韩日韩日韩 | 97人人模人人爽人人喊中文字 | 天天草av| 亚洲伊人av| 国产成人精品一区二区三区福利 | 一区二区三区四区免费视频 | 成人av电影免费 | 伊人网综合在线观看 | 婷婷丁香狠狠爱 | 黄色在线成人 | 国产一级一片免费播放放 | 亚洲一区二区三区在线看 | 亚洲一区二区三区91 | 中文不卡视频 | 公开超碰在线 | 亚洲一区 影院 | 精品国产99| 中文字幕免费观看视频 | 国产一级淫片在线观看 | 狠狠狠色丁香综合久久天下网 | 亚洲成人一二三 | 蜜臀久久99精品久久久久久网站 | 国产手机在线播放 | 在线观看中文字幕dvd播放 | 97超碰人人澡人人爱 | 日韩视频免费观看高清 | 国产精品国产自产拍高清av | 午夜999| 精品国产久 | 欧美成人va| 婷婷五月色综合 | 国产精品ssss在线亚洲 | 五月天伊人 | 狠狠干夜夜操天天爽 | 欧美特一级片 | 色婷婷激婷婷情综天天 | 黄色大片日本 | 99久久久久成人国产免费 | 精品久久久成人 | 2019中文在线观看 | 日韩激情视频在线观看 | 国产一级在线 | 夜夜爽88888免费视频4848 | 97视频在线观看免费 | 91资源在线播放 | 欧美国产日韩一区二区 | 97人人添人澡人人爽超碰动图 | 国产免费小视频 | 日韩免费福利 | 亚洲五月婷 | 久操视频在线 | 欧美国产日韩久久 | 91一区在线观看 | www四虎影院 | 久久精品在线视频 | 欧美精品亚州精品 | 亚洲综合成人婷婷小说 | 色成人亚洲网 | 国产一区二区在线播放 | 精品国产一区二区三区免费 | 激情综合网五月激情 | 亚洲女人天堂成人av在线 | 欧美日韩一区二区三区视频 | 久免费| 国产精品久久久久久久久久直播 | 天天操天天干天天操天天干 | 午夜精品久久久久久久久久 | 不卡av免费在线观看 | 在线观看91网站 | 久久久资源网 | 免费观看av网站 | 在线免费精品视频 | 一区二区 久久 | 欧美视频不卡 | 天天爽夜夜爽人人爽一区二区 | 日韩黄色一区 | 亚洲欧美国产精品久久久久 | 最新日韩在线观看视频 | 成人毛片在线观看 | 久久国产手机看片 | 亚洲综合射 | 亚洲精品中文字幕视频 | 亚洲理论电影网 | 久久伊人免费视频 | 日韩美女久久 | 成人综合婷婷国产精品久久免费 | 国产精品av免费 | 人成免费网站 | 久久久精品久久日韩一区综合 | 奇米四色影狠狠爱7777 | 成年人黄色免费网站 | 天天操天天是 | 狠狠色狠狠色终合网 | 日韩电影在线视频 | 97碰在线 | 97成人资源站 | 欧美精品乱码久久久久久按摩 | 成人免费在线播放 | 国产手机在线精品 | 久久综合色影院 | 国产成人免费在线 | 91黄色在线观看 | av手机在线播放 | 九九九九精品九九九九 | 欧美日韩国产精品一区二区三区 | 久久麻豆视频 | 国产一二区视频 | 亚洲乱码国产乱码精品天美传媒 | 国产精品毛片久久久久久 | 国产精品久久久久久a | 免费毛片一区二区三区久久久 | 91激情视频在线 | 国产亚洲久一区二区 | 国产精品高清一区二区三区 | 天天操天天爽天天干 | 中文字幕日韩伦理 | 国产又黄又猛又粗 | 国产成年免费视频 | 99精品小视频 | 在线看日韩av | av在线播放国产 | 久久综合九色综合网站 | 视频国产一区二区三区 | 成人a在线观看高清电影 | av中文字幕免费在线观看 | 久久色中文字幕 | 亚洲va欧美va国产va黑人 | 奇米影视8888 | 亚洲在线免费视频 | 99精品欧美一区二区三区黑人哦 | 五月婷婷国产 | 97人人爽人人 | 久久爽久久爽久久av东京爽 | 亚洲一级黄色片 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 免费看在线看www777 | 日本xxxxav| 午夜久久久精品 | 国产成人精品久 | 国产午夜影院 | 日韩av一区二区三区四区 | 亚洲欧美日韩国产 | 一区二区视频播放 | 亚洲国产中文字幕在线观看 | www.夜色.com | 日韩午夜电影 | 99久久精品免费 | 亚洲美女视频在线 | 久久成人麻豆午夜电影 | 国产精品久久久久久久久久免费 | 久久久久久国产精品999 | 久久久天堂 | 中文字幕在线播放第一页 | 国内三级在线 | 国产精品完整版 | 精品久久五月天 | 久久在线电影 | 超黄视频网站 | 免费在线色视频 | 五月婷婷操 | 国内综合精品午夜久久资源 | 啪啪资源 | 国产精品第10页 | 亚洲精品国偷自产在线99热 | 91桃色在线播放 | 91精品国产入口 | 欧美成人中文字幕 | 少妇18xxxx性xxxx片 | 亚洲视频在线播放 | 五月婷婷婷婷婷 | 日韩高清在线不卡 | 久久论理| 黄污视频网站大全 | 久久天天躁 | 国产精品久久久久久久久久久免费看 | 日本bbbb摸bbbb| 午夜精品在线看 | 日韩精品中文字幕在线不卡尤物 | 日韩欧美一区二区不卡 | 新av在线 | 91精品一区二区在线观看 | 在线亚洲播放 | 国内精品久久久精品电影院 | 国产精品a级 | 91影视成人 | 亚洲激情综合 | 干干日日 | 亚洲国产高清视频 | 久久视频精品在线观看 | 一级欧美黄 | 国产精品一区二区三区在线 | 久久久久日本精品一区二区三区 | 天天做天天爱夜夜爽 | 色婷婷综合在线 | 91视频大全 | 天天干天天射天天操 | 911av视频 | 天天艹天天 | 欧美国产在线看 | 久久成人人人人精品欧 | 综合五月婷婷 | 九九色视频 | 国产 在线 高清 精品 | 国产在线超碰 | 久久精品视频在线观看 | 日韩精品无码一区二区三区 | 欧美精品午夜 | 中文字幕一区二区三区乱码不卡 | 日本爱爱免费视频 | 97精品久久人人爽人人爽 | 欧美一区视频 | 婷婷性综合 | 99精品免费久久久久久久久 | 国产精品99久久免费观看 | 欧美色婷 | 国产免费一区二区三区最新6 | 西西4444www大胆无视频 | 国产亚洲在 | 欧美aaa一级 | 国产99久久久国产精品成人免费 | 欧美人牲 | 免费在线黄 | 午夜av在线免费 | av在线播放一区二区三区 | 日日干美女 | 91入口在线观看 | 国产亚洲成av片在线观看 | 免费看国产一级片 | 成人一级视频在线观看 | 中文字幕永久在线 | 日本性视频 | 久久视频在线视频 | 国产一级精品在线观看 | 69av免费视频 | 中文字幕在线观看免费高清电影 | 国产黄色片免费在线观看 | av在线播放观看 | 在线探花| 青草视频在线 | 久久免费视频在线观看30 | 久久无码av一区二区三区电影网 | aaa免费毛片 | 久久精品99国产精品亚洲最刺激 | 99久久久国产精品美女 | 免费看精品久久片 | 精品视频www | 久久国产精品一区二区三区 | 日本中文字幕在线观看 | 最近日韩免费视频 | 日韩在线电影一区 | 91视频91蝌蚪| 亚洲视频999| 日日爱网站 | 丁香久久五月 | 狠狠色狠狠色合久久伊人 | 国产精品高潮呻吟久久久久 | 色婷婷福利 | 91视频中文字幕 | 91中文字幕网 | 国产精品久久 | 国产成人精品a | 99热九九这里只有精品10 | 亚洲 欧美 变态 国产 另类 | 国产成人av网站 | 天天干天天爽 | 久久国产精品色av免费看 | 亚洲理论电影网 | 亚洲欧美国产日韩在线观看 | 午夜久久久影院 | 超碰日韩 | av成人在线观看 | 五月婷婷爱 | 精品在线播放视频 | 在线日本看片免费人成视久网 | 激情文学丁香 | 91在线免费观看网站 | 99热999| 2021国产在线视频 | 成人av资源 | 日本在线h| 久久久久久激情 | 日韩欧美电影网 | 在线不卡中文字幕播放 | 人人爽久久涩噜噜噜网站 | 国产黄色精品视频 | 日韩69视频 | 超碰在97 | 国产在线欧美在线 | av在线电影免费观看 | 亚洲涩涩涩涩涩涩 | 国产精品久久久久久久久久久久午夜片 | 五月婷婷一区二区三区 | 国产一级二级在线观看 | 国产乱对白刺激视频在线观看女王 | 日韩在线国产精品 | 久久夜色精品国产欧美乱极品 | 一区二区三区在线不卡 | 日本性xxxxx 亚洲精品午夜久久久 | 免费高清国产 | 色a网| 九色精品免费永久在线 | 中文字幕在线免费观看 | 在线免费观看一区二区三区 | 国产精品亚洲人在线观看 | 精品国产免费一区二区三区五区 | 草久视频在线 | 99久久精品免费视频 | www91在线观看 | 97国产精品一区二区 | 精品国产一区二区三区久久久蜜月 | 国产福利小视频在线 | 国产精品乱码久久久久 | 美女视频久久久 | 中文字幕av网站 | 99热这里只有精品国产首页 | 日韩免费高清在线观看 | 成人久久电影 | 亚洲理论电影网 | 在线观看一区视频 | av大片免费 | 国产精品一区二区三区四 | 91在线精品一区二区 | 99热精品免费观看 | av成人免费在线 | 在线观看视频福利 | 51精品国自产在线 | 黄色特级片 | 国产又黄又爽又猛视频日本 | 精品福利网 | 91你懂的| 国产成人精品亚洲精品 | 亚洲精品视频免费看 | 免费网站黄色 | 久久综合亚洲鲁鲁五月久久 | 91视频免费| 国产美女主播精品一区二区三区 | 超碰人人草 | 亚洲aⅴ一区二区三区 | 国产精品永久久久久久久www | 97成人在线观看 | 一区二区三区影院 | 日本精品va在线观看 | 欧美日韩一级在线 | 狠狠操夜夜操 | 97韩国电影| 色综合久久88色综合天天6 | 国产精品成人一区二区三区吃奶 | 九色91在线 | 色操插 | 97超碰成人在线 | 日韩系列在线观看 | 天天操网址 | 深爱婷婷网 | 日韩欧美在线免费观看 | 天天久久夜夜 | 在线观看v片 | 国产伦精品一区二区三区无广告 | 狠狠艹夜夜干 | 一区在线观看 | 亚洲va综合va国产va中文 | 久久福利在线 | 亚洲成人精品国产 | 97视频免费看 | 日本一区二区不卡高清 | 欧美日韩在线播放一区 | 婷婷色在线 | 久久午夜电影网 | 天天摸夜夜操 | 中文字幕在线视频第一页 | 亚洲第一中文字幕 | 色片网站在线观看 | 99热99| 国产精品久久久免费 | 欧美成人在线网站 | 亚洲成人午夜av | 精品国产_亚洲人成在线 | 久久99精品久久只有精品 | 免费在线观看亚洲视频 | 午夜狠狠操| 欧美精品一区二区性色 | 色视频国产直接看 | 天海冀一区二区三区 | 国产你懂的在线 | av动态图片| 日躁夜躁狠狠躁2001 | 国产成人一区在线 | 久久精品视频国产 | 亚洲午夜av久久乱码 | 99在线观看免费视频精品观看 | 在线免费视频你懂的 | 九色在线 | 欧洲精品二区 | 欧美性粗大hdvideo | 热re99久久精品国产99热 | 久久久久久久久久毛片 | 久久久精品国产一区二区电影四季 | 毛片www| 不卡中文字幕在线 | 五月天亚洲精品 | 国产精品久久久久四虎 | 九九精品在线观看 | 在线a人片免费观看视频 | 欧美最猛性xxxxx免费 | 免费在线一区二区三区 | 色婷婷五 | 精品国产伦一区二区三区 | 亚洲综合色av | 欧美一级高清片 | 日韩精品一区电影 | 中文字幕日韩一区二区三区不卡 | 亚洲高清在线观看视频 | 免费一级毛毛片 | 免费视频97 | 国产女做a爱免费视频 | 91亚色视频在线观看 | 亚洲欧美怡红院 | av电影在线观看完整版一区二区 | 欧美精彩视频在线观看 | 欧美小视频在线观看 | 激情五月六月婷婷 | 国产99久久久精品视频 | 国产资源在线免费观看 | 亚洲国产美女久久久久 | 日日躁夜夜躁xxxxaaaa | www黄色大片 | 国产成人777777 | 久久精品美女视频网站 | 又黄又爽又刺激的视频 | 久久免费精品一区二区三区 | 亚洲欧洲中文日韩久久av乱码 | 国产成人av一区二区三区在线观看 | 伊人狠狠干 | 色视频在线观看免费 | 在线看av网址 | 91麻豆视频 | 国产中文字幕第一页 | 99久久精品费精品 | 999免费视频 | 在线导航av| 91人人视频在线观看 | 最新av网站在线观看 | 久久夜色精品国产欧美一区麻豆 | 免费三级在线 | www.色在线| 麻豆影视在线免费观看 | 午夜精品一区二区三区在线观看 | 在线成人中文字幕 | 欧美日本高清视频 | 99视频精品全部免费 在线 | 成人av片免费观看app下载 | 亚洲影院一区 | 91成人破解版| 黄色小说视频网站 | 亚洲无吗av | 在线亚州 | 人成电影网 | 日本久久中文字幕 | 精品一区二区电影 | 成人va视频 | 国产黄色大片免费看 | 中文字幕免费高 | 欧美一区二区在线看 | 亚洲综合色视频在线观看 | 在线视频观看你懂的 | 精品视频久久 | 久久亚洲美女 | 久久国产精品免费观看 | 九九热在线观看视频 | 欧美va日韩va | 午夜精品久久久久久久99 | 在线观看黄色大片 | h久久| 四虎成人精品永久免费av | 2022久久国产露脸精品国产 | 91精品国产综合久久福利 | 缴情综合网五月天 | 精品国产1区| 国产精品18久久久久久不卡孕妇 | 99精品一区二区三区 | 热久久免费国产视频 | 欧美精品亚洲精品日韩精品 | 天天插天天爽 | 国产精品视频地址 | 国产精品久久久久影院日本 | 日韩午夜精品福利 | 97国产大学生情侣酒店的特点 | 中文字幕文字幕一区二区 | a视频在线播放 | 久久96国产精品久久99漫画 | 国产中文在线观看 | 亚洲精品国产视频 | 少妇自拍av | 五月婷久久 | 国产一区二区三区免费视频 | 91高清视频 | 中文字幕免费 | 国产精品久久人 | 中文字幕免费 | 国产在线欧美 | 中文字幕乱码日本亚洲一区二区 | 13日本xxxxxⅹxxx20 | 精品女同一区二区三区在线观看 | 国产视频一区二区三区在线 | 日韩国产高清在线 | 人人爽人人香蕉 | 久久久久久国产精品免费 | 欧美日韩久久不卡 | 91九色pron| 精品国产一区二区三区不卡 | 国内精品久久久久影院日本资源 | 91精品欧美 | 我要看黄色一级片 | 五月婷婷视频在线 | 国产探花视频在线播放 | 一区 二区 精品 | 天天插狠狠插 | 日韩两性视频 | 五月激情丁香婷婷 | 韩国视频一区二区三区 | 激情网在线观看 | 成人v| 成人精品国产 | 日韩精品视频免费在线观看 | 日韩在线观看影院 | 亚洲狠狠操| 日韩成人在线一区二区 | 久久久资源网 | 久久婷亚洲五月一区天天躁 | 亚洲精品激情 | 久久久精品免费观看 | 久久久久高清毛片一级 | 欧美91精品 | 久久一二三四 | 日韩免费在线看 | 国产成人精品久久久久蜜臀 | 黄色大片免费网站 | 天天射天天射天天 | 2019中文字幕网站 | 国产成人av电影在线观看 | 精品免费视频123区 午夜久久成人 | 欧美性天天 | 日韩欧美在线影院 | 久久综合久久鬼 | 国产精品一区二区三区99 | 三日本三级少妇三级99 | 精品v亚洲v欧美v高清v | 91完整视频 | 狠狠色婷婷丁香六月 | 人人要人人澡人人爽人人dvd | 黄色av一级片| 狠狠操狠狠插 | 最近高清中文字幕 | 中文字幕精品一区二区精品 | 日韩av区| 999成人国产 | 欧美精品黑人性xxxx | www.888av | 国内精品久久久 | 日韩欧美中文 | 综合网天天色 | 97在线观视频免费观看 | 欧美综合在线观看 | 久久91网 | 久久视频在线免费观看 | 免费色网站 | 中文字幕成人一区 | 久草com| 国产.精品.日韩.另类.中文.在线.播放 | 日韩av伦理片 | 97av超碰 | 久久欧美综合 | 精品中文字幕在线观看 | av电影一区二区三区 | www天天干| 99久久久国产免费 | 999视频精品 | 欧美日韩性视频在线 | 欧美精品免费在线观看 | 欧美精品久久久久久久久久白贞 | 激情五月五月婷婷 | av在线免费播放 | 国产精品v a免费视频 | 97色视频在线 | 一区二区精品久久 | 亚洲综合激情小说 | 欧美精品一区二区性色 | 日本黄色免费播放 | 免费高清国产 | 日韩久久视频 | 在线电影a | 亚洲欧美日韩国产一区二区三区 | 视频国产精品 | 成人性生交大片免费看中文网站 | 欧美一区日韩精品 | 99免费看片 | 久久精品牌麻豆国产大山 | 97爱| 久久国产精品二国产精品中国洋人 | 亚洲午夜不卡 | 久视频在线播放 | 国产色视频123区 | 日本久久久久久久久 | 黄色免费电影网站 | 久久久久久国产精品美女 | 日韩亚洲在线观看 | 国产录像在线观看 | 久艹在线观看视频 | 日韩欧美在线综合网 | 一个色综合网站 | 免费看成人av| 最新日韩在线观看视频 | 国产精品久久久久永久免费 | 丁香婷婷在线观看 | av夜夜操| av亚洲产国偷v产偷v自拍小说 | 日本精品视频网站 | 久久免费国产 | 精品国产99 | 99精品免费 | 中文字幕视频一区二区 | 99c视频高清免费观看 | 国产日韩欧美在线免费观看 | 日本aaaa级毛片在线看 | 国产一区欧美在线 | 欧美日韩视频在线播放 | 欧美日韩免费观看一区二区三区 | 美女精品在线观看 | 欧美极品一区二区三区 | 国产精品va最新国产精品视频 | 亚洲综合少妇 | 欧美另类视频 | 中文字幕欧美日韩va免费视频 | 日本中文一级片 | 久久在现视频 | 国产91在| 久久99久久久久久 | 久草在线这里只有精品 | 日韩中文字幕免费电影 | 香蕉成人在线视频 | 久久久精品免费观看 | 久草免费在线观看 | 色婷婷骚婷婷 | 色吊丝在线永久观看最新版本 | 国产免费资源 | 91日韩在线专区 | 岛国片在线 | 中文字幕免费成人 | 亚洲精品综合久久 | 一区二区三区在线免费播放 | 黄污污网站 | 四虎在线免费观看 | 五月婷在线 | 伊人看片 | 亚洲男人天堂a | 在线观看日韩精品视频 | 九九热在线精品视频 | 成人免费网站在线观看 | 亚洲一区二区三区在线看 | 国产精品第 | 奇米影视8888在线观看大全免费 | 国产黑丝袜在线 | 婷婷四房综合激情五月 | 九九亚洲精品 | 欧美日韩久久一区 | 久久国产精品99久久人人澡 | 超碰公开在线观看 | 蜜桃传媒一区二区 | 91九色视频导航 | 日韩电影中文字幕在线观看 | 日韩在线免费播放 | 成年人在线观看免费视频 | 国产黄色片网站 | 日韩中文字幕亚洲一区二区va在线 | 在线观看中文字幕第一页 | 国产亚洲精品av | 欧美美女视频在线观看 | 成人国产一区二区 | 中文免费| 久久国产免费看 | 色com | 5月丁香婷婷综合 | 五月天网站在线 | 日韩性色| 亚洲精品一区二区三区新线路 | 国产一区二区三区免费在线观看 | 日本黄色一级电影 | 99久久精品网 | 国产精品入口久久 | 午夜国产在线观看 | 国产精品99免费看 | 一区二区三区手机在线观看 | 狠狠色狠狠色 | 狠狠操天天干 | 成人精品久久久 | 亚洲精品免费在线观看视频 | 91视频免费网站 | 国产日韩一区在线 |