精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

復盤Node項目中遇到的13+常見問題和解決方案

開發 項目管理
解決此問題最好的方式就是采用pm2 或者forever, 其提供了強大的node進程管理, 負載均衡的能力, 并提供了一定程度的應用監控, 建議在線上環境使用pm2 來管理我們的node應用。

筆者之前陸陸續續接手過幾個nodejs項目, 也參與過幾個有點意思的nodejs開源項目, 最近把其中遇到的一些問題和解決方案做一個梳理, 避免大家繼續踩坑. 話不多說我們開始吧!

1. window和mac下設置NODE_ENV變量的問題

我們都知道在前端項目中會根據不同的環境變量來處理不同的邏輯, 在nodejs中也一樣, 我們需要設置本地開發環境, 測試環境, 線上環境等, 此時有一直設置環境變量的方案是在package.json中的script屬性中設置, 如下:

"scripts": {
"start": "export NODE_ENV=development && nodemon -w src --exec \"babel-node src\"",
"build": "babel src --out-dir dist",
"run-build": "node dist",
"test": "echo \"Error: no test specified\" && exit 1"
}

從start指令中我們可以發現我們用export NODE_ENV=development來定義開發環境的環境變量,由于筆者采用的是mac電腦,所以可以用export來定義一個node環境變量. 但是在和朋友合作開發項目時發現執行yarn start后會報錯, 后面看錯誤信息才發現window下不識別export, 后面筆者發現window定義環境變量可以用set, 所以對于window用戶, 如果你使用了以上方法設置NODE_ENV, 可以采用如下方式:

"scripts": {
"start": "set NODE_ENV=development && nodemon -w src --exec \"babel-node src\""
}

2. 執行npm install發生node-gyp報錯的問題

在項目開發過程中有時候拉取新的node項目代碼后執行npm install, 會報如下錯誤

node-gyp就是在node環境中使用的生成不同平臺不同編譯器的項目文件, 如果你遇到了相同的問題, 我們可以采用如下方案

npm install -g node-gyp

或者直接刪除package-lock.json或者yarn.lock, 然后重新yarn install或者npm install即可, 筆者親測有效

3. node + koa2項目中刪除已設置的cookie的解決辦法

由于HTTP是無狀態協議,所以需要cookie來區分用戶之間的身份。我們可以把cookie作為是一個由瀏覽器和服務器共同協作實現的規范。

cookie的處理分為以下3步(基礎且重要的知識)

  • 服務器向客戶端發送cookie
  • 瀏覽器將cookie保存(可以在后端設置expires或者maxAge,以session形式存在)
  • 每次瀏覽器都會將之前設置好的cookie發向服務器

在開發node后臺項目時我們經常涉及用戶管理模塊, 這意味我們需要對用戶進行登錄態管理, 在用戶退出時能及時刪除用戶的cookie, 好在koa2自帶了處理cookie的方法, 我們可以通過如下的方式設置cookie

router.post(api.validVip,
async ctx => {
ctx.cookies.set('vid', 'xuxiaoxi', { maxAge: 24 * 3600 * 1000 });
}
);

以上我們隨便設置了一個有效期為1天的cookie, 那如果業務有變動, 需要在有效期內清空此cookie, 我們該如何處理呢? 解析來給出一個相對可用的解決方案

ctx.cookies.set('vid', '', { maxAge: 0 });

此時客戶端的cookie將在下次請求時自動失效。

4. socket.io如何與koa/egg配合使用

我們都知道完整的socket.io通信由兩部分組成:

  • 與NodeJS HTTP 服務器集成(或安裝在其上)的socket.io
  • 在瀏覽器端加載的客戶端庫socket.io-client

如果我們直接使用koa或者egg, 我們需要將它們內部集成的http和socket.io做兼容, 此時我們可以這樣處理

import koa from 'koa';
import http from 'http';

const app = new koa();
const server = http.createServer(app.callback());
const io = require('socket.io')(server);
// 正常的業務處理
// io
io.on('connection', (socket) => {
console.log('a user connected');
socket.on('doc load', (msg) => {
console.log('doc load', msg)
io.emit('getData', users)
})
});

server.listen(3000, () => {
// ...
});

通過以上的方式就可以正常的將koa和socket.io 做兼容. 后面我們就可以正常的開發IM應用啦!

5. 由于nodejs第三方模塊依賴特定node版本導致的報錯解決方案

這個情況筆者之前也遇到過, 主要原因是第三方沒有和node版本做到很好的向后兼容, 此時解決方案就是更新此第三方包到最新版本(如果還在維護的情況), 或者使用node包管理工具(n)切換到適配的node版本, 如下

// 更新最新的包
npm i xxx@latest

// 使用包管理工具n
npm i -g n

使用n可以很方便的管理node版本, 感興趣可以嘗試一下

6. nodejs如何創建定時任務

定時任務在后端開發中是很常見的功能之一, 其本質是根據時間規則,系統在后臺自動執行相應的任務. 在java, PHP 等后臺語言中有很豐富的定時任務的支持, 對于nodejs 這個興起之秀來說, 雖然沒有那么成熟的生態, 但是仍然有定時任務的模塊, 比如node-schedule

Node Schedule 是用于Node.js的靈活的 cron 類和非 cron 類作業調度程序。它允許我們使用可選的重復規則來安排作業(任意函數)在特定日期執行。它在任何給定時間僅使用一個計時器(而不是每秒鐘/分鐘重新評估即將到來的作業)。

一個很實用的場景是我們想在每年的雙十一或者雙十二讓node程序自動抓取某電商的“商品羊毛”, 并推送到自己的郵箱, 此時我們就可以用Node Schedule來開啟一個定時任務來執行我們的業務操作, 筆者的很多node應用都采用了類似的模式.感興趣可以互相交流一下

那什么是cron風格的Scheduling呢? 其github上給出了一個簡單的介紹

所以我們可以像如下方式這樣來寫一個定時任務

let schedule = require('node-schedule');

let testJob = schedule.scheduleJob('42 * * * *', function(){
console.log('將在未來的每個時刻的42分時執行此代碼, 比如22:42, 23:42');
});

7. 在nodejs項目中使用import, export和修飾器@decorator語法

我們都知道現在nodejs版本已經到14.0+版本了, 對最新的es語法支持的也足夠好, 但是目前仍然有一些語法不支持, 比如es的模塊導入導出(import, export), 裝飾器(@decorator)等, 此時我們要在node項目中使用這些新特性, 我們就不得不借助工具, 這里筆者采用babel7來解決上述問題, 如下

# .babelrc
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"node": "current"
}
}
]
],
"plugins": [
["@babel/plugin-proposal-decorators", { "legacy": true }],
["@babel/plugin-proposal-class-properties", { "loose" : true }]
]
}

我們只需要在項目根目錄里新建并寫入如上文件, 并安裝babel對應的模塊即可, 如下

yarn add 
@babel/cli
@babel/core
@babel/node
@babel/plugin-proposal-class-properties
@babel/plugin-proposal-decorators
@babel/preset-env

此時就可以想寫前端項目一樣使用這些新語法特性啦!

8. nodejs中優雅的處理json文件以及提高json讀寫性能

對于nodejs優化方面其實有很多要聊的, 這里主要來說說json相關的優化方案. 我們需要從2個方面來優化, 一個就是json文件的讀寫性能, 此時我們可以采用fast-json-stringify 來大大提高json的讀寫速度, 其本質是提供了一套json-schema約束, 讓json結構更加有序, 從而提高json的讀取查詢速度. 如下使用方式

const fastJson = require('fast-json-stringify')
const stringify = fastJson({
title: 'H5 Dooring Schema',
type: 'object',
properties: {
firstName: {
type: 'string'
},
lastName: {
type: 'string'
},
age: {
description: 'Age in years',
type: 'integer'
},
reg: {
type: 'string'
}
}
})

比如說在H5-Dooring的后臺中, 有很多需要頻繁讀寫json數據的接口, 此時使用fast-json-stringify對讀寫性能會有很大的提升

另一方面, 我們在node 端操作json, 如果用原生的寫法會非常麻煩, 此時我們最好自己對json讀取進行封裝來提高代碼的簡約性, 或者我們直接使用第三方庫jsonfile 來輕松讀寫json文件, 如下使用案例

const json = require('jsonfile')
const fileName = 'h5-dooring.json'
const jsonData = jsonFile.readFileSync(fileName)

9. nodejs讀取大文件報錯解決方案

在nodejs中 我們可以使用兩種方式來讀寫文件, 如下

  • fs.readFile() 一次性將文件讀取進內存中, 如果文件過大會導致node內存不夠而報錯
  • fs.createReadStream() 以文件流的方式讀取, 此時可以不用擔心文件的大小

由以上介紹可知如果我們要讀取的文件可能會很大(比如視頻等大文件), 我們一開始就要使用fs.createReadStream(), 其實如果我們需要對文件進行解析, 比如要對簡歷等文件進行逐行解析提取關鍵語料, 我們可以使用node的readline模塊, 此時我們就可以對文件進行逐行讀取并解析, 如下案例

const fs = require("fs");
const path = require("path");
const readline = require("readline");

const readlineTask = readline.createInterface({
input: fs.createReadStream(path.join(__dirname, './h5-dooring')),
});

readlineTask.on('line', function(chunk) {
// 讀取每一行數據
});

readlineTask.on('close', function() {
//文件讀取結束的邏輯
}

10. nodejs如何開啟gzip優化網站性能

對于nodejs開啟gzip 的操作也屬于node性能優化的一部分, 經過這樣的處理可以讓我們的網站加載更快, 我們可以使用koa的koa-compress中間件來實現gzip 功能. 具體實現如下

import koa from 'koa';
import compress from 'koa-compress';

const app = new koa();
// 開啟gzip
const options = { threshold: 2048 };
app.use(compress(options));

當然koa-compress還有很多自定義的配置項, 大家可以感受一下。

11. 解決window和linux系統下路徑分隔符不一致的問題

這個問題也是系統之間的差異導致的, 也是需要考慮的問題, 我們都知道在linux系統下路徑的分隔符為/, 比如h5-dooring/src/pages, 但是在window下解析的可能就是h5-dooring\\src\\pages這樣的路徑, 此時我們需要做適配, 不然我們部署到不同系統上報錯是必然的, 所以我們需要全局配置路徑通配符, 筆者的解決方案如下

import os from 'os'
const _$ = (os.platform().toLowerCase() === 'win32') ? '\\' : '/';

此時涉及到具體路徑的地方我們用_$ 代替即可, 以上代碼我們用到了node的os模塊, 感興趣的可以研究一下, 我們可以用os模塊處理很多有意思的因為系統差異導致的問題

12. nodejs如何實現父子進程通信

由于nodejs是單線程的, 但是有時候我們需要支持處理多個進程的業務, 目前nodejs可以通過哦父子進程的模式來模擬多進程, 我們可以用到child_process, 大致流程如下

筆者之前分享的很多node實戰項目都采用了child_process, 大致實現過程如下

// child.js
function computedTotal(arr, cb) {
// 耗時計算任務
}

// 與主進程通信
// 監聽主進程信號
process.on('message', (msg) => {
computedTotal(bigDataArr, (flag) => {
// 向主進程發送完成信號
process.send(flag);
})
});

// main.js
const { fork } = require('child_process');

app.use(async (ctx, next) => {
if(ctx.url === '/fetch') {
const data = ctx.request.body;
// 通知子進程開始執行任務,并傳入數據
const res = await createPromisefork('./child.js', data)
}

// 創建異步線程
function createPromisefork(childUrl, data) {
// 加載子進程
const res = fork(childUrl)
// 通知子進程開始work
data && res.send(data)
return new Promise(reslove => {
res.on('message', f => {
reslove(f)
})
})
}

await next()
})

13. node端實現圖片編輯/壓縮

圖片編輯壓縮在很多場景中用前端的技術實現比較常見, 其實在node端也有很多需要處理的圖片需要, 畢竟客戶端處理的質量不好控制, 此時我們可以采用node-images, 他是一款node 端輕量級跨平臺圖像編解碼庫, 其主要特性如下

  • 輕量級:無需安裝任何圖像處理庫。
  • 跨平臺:Windows下發布了編譯好的.node文件,下載就能用。
  • 使用簡單:jQuery風格的API,簡單可依賴

我們可以使用它來裁剪, 壓縮圖片, 基本使用如下

const images = require("images");

images("input.jpg") //加載圖像文件
.size(400) //等比縮放圖像到400像素寬
.draw(images("logo.png"), 10, 10) //在(10,10)處繪制Logo
.save("output.jpg", { //保存圖片到文件,圖片質量為50
quality : 50
});

在H5-Dooring 編輯器中哦你也使用了它來做圖片處理和編輯, 大家也可以更根據實際業務來使用

14. node端解析“命令行指令字符串”實現線上自動打包部署項目

關于node解析cmd字符串并執行命令行指令的方式筆者之前在寫自己實現一個自動化工作流的文章中也介紹過, 使用了child_process模塊的exec。

這里寫一個簡單的例子

const cmdStr = `cd ${outWorkDir} && yarn build ${fid}`
// 解析命令行指令, 實現線上自動打包構建項目
exec(cmdStr, function(err, stdout, stderr){
if(err) {
console.log('api error:'+stderr);
io.emit('htmlWorked', { result: 'error', message: stderr })
} else {
// ...
}
})

15. 如何解決node應用崩潰, 負載均衡和進程管理

解決此問題最好的方式就是采用pm2 或者forever, 其提供了強大的node進程管理, 負載均衡的能力, 并提供了一定程度的應用監控, 建議在線上環境使用pm2 來管理我們的node應用

覺得有用 ?喜歡就收藏,順便點個贊吧,你的支持是我最大的鼓勵!微信搜 “趣談前端”,發現更多有趣的H5游戲, webpack,node,gulp,css3,javascript,nodeJS,canvas數據可視化等前端知識和實戰。

責任編輯:武曉燕 來源: 趣談前端
相關推薦

2020-12-15 12:43:53

Nodenode應用NodeJS

2023-04-12 11:32:33

網絡

2019-10-08 16:05:19

Redis數據庫系統

2014-01-07 13:54:02

HadoopYARN

2024-07-08 08:45:41

2010-08-31 16:09:04

DIV+CSS

2023-10-16 16:08:42

工業 4.0物聯網邊緣計算

2022-03-31 10:25:20

物聯網工業 4.0大數據分析

2016-09-27 21:14:53

JavaURL

2010-08-04 10:20:30

Flex組件開發

2019-04-04 13:11:37

React內存泄露memory leak

2010-08-26 12:59:29

marginCSS

2024-05-09 15:00:38

Python編碼開發

2011-07-26 16:05:19

Oracle數據庫服務器

2025-09-03 10:12:47

移動端JavaScript開發

2025-02-19 08:00:00

移動端移動設備移動開發

2021-08-05 08:32:27

React開發項目

2024-05-24 10:56:24

PythonURL代碼

2024-10-30 11:00:00

Python列表索引

2010-12-27 11:00:53

Virtualbox
點贊
收藏

51CTO技術棧公眾號

欧美激情福利| 成人18在线| 亚洲综合精品四区| 国产亚洲xxx| 日本黄色福利视频| 牛牛在线精品视频| 久久久久久综合| 国产精品高潮呻吟久久av黑人| 国产99在线 | 亚洲| 日韩高清在线观看一区二区| 色综合夜色一区| 一区二区三区欧美在线| 亚洲狼人综合网| 免费在线看成人av| 97色在线观看| 成人免费毛片xxx| 欧美极品在线观看| 精品日产卡一卡二卡麻豆| 国产免费视频传媒| 成全电影大全在线观看| 中文字幕乱码一区二区免费| 国产伦精品一区二区三区视频黑人| 中国精品一区二区| 99国产精品| 美女啪啪无遮挡免费久久网站| 一级性生活大片| 日韩精品成人在线观看| 欧美日韩免费在线视频| 欧美一级片中文字幕| 婷婷色在线资源| 国产精品二三区| 欧美少妇一区| 少妇av一区二区| 国产精品888| 国产又爽又黄的激情精品视频| 亚洲欧美精品一区二区三区| 国内视频精品| 久久av在线看| 青青操在线播放| 精品大片一区二区| 国产视频久久久久| 岛国精品资源网站| 成人18夜夜网深夜福利网| 5月丁香婷婷综合| 日韩欧美亚洲另类| 久久精品超碰| 欧美日韩国产片| 黄色片久久久久| 国产在线观看www| 亚洲电影中文字幕在线观看| www.国产二区| 日本aa在线| 亚洲资源中文字幕| 欧美黄色免费网址| 特级毛片在线| 亚洲高清免费在线| 国产日韩欧美精品在线观看| 色呦呦久久久| 亚洲午夜一二三区视频| 男人天堂a在线| 国产极品在线观看| 亚洲6080在线| 国产成人精品视频免费看| 两个人看的在线视频www| 亚洲成人福利片| 凹凸国产熟女精品视频| 韩漫成人漫画| 欧美日韩日日夜夜| 91精品视频国产| 成午夜精品一区二区三区软件| 亚洲成色999久久网站| 日韩精品人妻中文字幕有码| 国产乱人伦丫前精品视频| 亚洲激情电影中文字幕| 日本少妇色视频| 欧美美女一区| 久久视频在线看| 欧美国产精品一二三| 亚洲性视频h| 国产97在线亚洲| 91亚洲国产成人久久精品麻豆| 国产一区二区三区在线看麻豆| 99国产在线观看| 亚洲欧洲成人在线| 日本一区二区三区四区| 手机成人av在线| 黄页网站大全在线免费观看| 大伊人狠狠躁夜夜躁av一区| 久久久久国产一区| 深夜福利一区| 亚洲欧美在线播放| 啪啪一区二区三区| 国产综合精品一区| 国产99久久精品一区二区 夜夜躁日日躁| 欧美一级黄视频| 国产盗摄精品一区二区三区在线 | 久久中文娱乐网| 婷婷四月色综合| 免费在线看污片| 在线观看日产精品| 性xxxxxxxxx| 精品毛片免费观看| 久久久久久久久久久免费| 草莓视频18免费观看| 国产精品69毛片高清亚洲| 美国av一区二区三区| 欧美精品hd| 欧美午夜电影在线| av中文字幕网址| 亚洲免费福利一区| 欧美黑人一级爽快片淫片高清| 国产视频91在线| 国内一区二区在线| 欧美重口乱码一区二区| 午夜av在线播放| 欧美视频在线播放| 中出视频在线观看| 久久久久久久久久久久久久| 啪一啪鲁一鲁2019在线视频| 国产丰满果冻videossex| 久久综合精品国产一区二区三区| 国产一二三四区在线观看| 成人免费影院| 精品国产免费一区二区三区香蕉 | 欧美一区二区三区少妇| 亚洲欧洲综合另类在线| 日韩在线第三页| 欧美日韩一区二区三区四区不卡| 久热爱精品视频线路一| 中文字幕制服诱惑| 久久精品亚洲麻豆av一区二区| 欧美一区二区激情| 国产色99精品9i| 日韩中文av在线| 在线观看亚洲黄色| 久久久亚洲高清| 黄色www网站| 国产区精品视频在线观看豆花| 超薄丝袜一区二区| 国产又粗又黄又爽| 国产精品毛片久久久久久久| 精品久久久久久久无码| 亚洲精品国产动漫| 18性欧美xxxⅹ性满足| 高清乱码毛片入口| 一区二区不卡在线播放 | 99re这里只有精品在线| 91视频免费观看| 国产精品秘入口18禁麻豆免会员| 日韩av午夜| 欧美一级视频免费在线观看| 亚洲av成人精品日韩在线播放| 亚洲超碰精品一区二区| 人妖粗暴刺激videos呻吟| 在线 亚洲欧美在线综合一区| 成人18视频| av老司机免费在线| 亚洲精品福利在线观看| 日韩精品一卡二卡| 91丨porny丨户外露出| 男人天堂999| 精品国产99| 国产精品久久久久久亚洲影视| 国产小视频免费在线网址| 欧美日韩中文字幕综合视频| 国产精品亚洲无码| 秋霞av亚洲一区二区三| 亚洲欧洲一区二区福利| 成人在线视频国产| 欧美精品videos性欧美| 外国精品视频在线观看 | 国产精品第一视频| 天堂地址在线www| 欧美一区二区三区日韩| 青青草精品在线视频| 成人午夜激情在线| 欧美黄网站在线观看| 不卡在线一区| 97超级在线观看免费高清完整版电视剧| 欧美黄色视屏| 日韩不卡在线观看| 国产情侣免费视频| 一区二区三区高清| 成人网站免费观看| 免费在线观看成人| 久久综合久久久久| 丝袜久久网站| 国产综合久久久久久| 免费污视频在线| 亚洲系列中文字幕| 性做久久久久久久久久| 日韩欧中文字幕| 四虎永久免费在线| 97se亚洲国产综合在线| 想看黄色一级片| 日韩午夜在线| 在线观看成人av| 亚洲第一论坛sis| 亚洲一区二区三区乱码aⅴ| 少妇淫片在线影院| 久久精品成人一区二区三区 | 91美女视频网站| 色婷婷激情视频| 六月丁香综合| 真实国产乱子伦对白视频| 国产精品一线天粉嫩av| 99久久精品无码一区二区毛片| av在线不卡精品| 国外成人性视频| 欧美成人性生活视频| 日韩精品高清在线| 国内老熟妇对白hdxxxx| 欧洲精品视频在线观看| 国产精品成人免费一区二区视频| 国产精品你懂的在线欣赏| 中文字幕免费高清视频| 国产美女精品人人做人人爽| 国产精品免费成人| 亚洲手机在线| 中国一级大黄大黄大色毛片| 国产日韩欧美一区二区三区| 精品无人区一区二区三区竹菊| 欧美.com| 国产一区欧美二区三区| 666av成人影院在线观看| 久久久免费观看视频| av激情在线| 日韩中文字幕亚洲| 国产午夜视频在线观看| 精品一区二区电影| 日本xxxxwww| 日韩欧美国产系列| 国产美女明星三级做爰| 欧美日韩不卡在线| 中文字幕久久熟女蜜桃| 91国内精品野花午夜精品| 国产做受高潮漫动| 亚洲成av人片一区二区梦乃| 久久久久久久久久99| 亚洲欧美色综合| 日本中文在线视频| 1024成人网| 国产精品白丝喷水在线观看| 亚洲日韩欧美一区二区在线| 久久一级免费视频| 中文字幕一区av| 少妇视频一区二区| 亚洲四区在线观看| 在线观看美女av| 亚洲精品美腿丝袜| 九九视频在线观看| 亚洲一区二区三区免费视频| 激情小说中文字幕| 亚洲电影在线免费观看| 久久久久久久久久免费视频| 五月天激情综合| 国产剧情在线视频| 91成人免费网站| 亚洲影院一区二区三区| 91精品欧美久久久久久动漫| 国产毛片毛片毛片毛片| 日韩一级大片在线| 亚洲精品免费在线观看视频| 欧美精品一区男女天堂| 四虎电影院在线观看| 亚洲少妇激情视频| av在线之家电影网站| 久久久精品国产| 国产探花视频在线观看| 午夜欧美不卡精品aaaaa| 625成人欧美午夜电影| 国产精品久久久久久久久久免费| 欧美综合影院| 国产chinese精品一区二区| 伦理一区二区| 亚洲不卡1区| 欧美岛国激情| 中文字幕无码精品亚洲资源网久久| 国产视频一区在线观看一区免费| 国产又猛又黄的视频| 精品综合久久久久久8888| 国产调教打屁股xxxx网站| 26uuu精品一区二区| 肉色超薄丝袜脚交69xx图片| 一区2区3区在线看| 丁香六月婷婷综合| 欧美精品一二三四| 日本黄色不卡视频| 中文字幕久久亚洲| 激情图片在线观看高清国产| 日本中文字幕久久看| 最新亚洲国产| 久久国产精品一区二区三区四区 | 中文字幕一区二区三区免费看| 日韩欧美一区二区免费| 欧美扣逼视频| 欧美高清视频免费观看| 香蕉视频亚洲一级| 高清视频在线观看一区| 欧美在线免费看视频| 国产精品视频网站在线观看| 日韩福利视频导航| 怡红院一区二区| 中文字幕视频一区二区三区久| 日韩欧美高清在线观看| 欧美美女一区二区三区| 婷婷婷国产在线视频| 操91在线视频| 国产精品亚洲成在人线| 久久天天狠狠| 欧美午夜不卡| 一起操在线视频| 久久久久9999亚洲精品| 久久精品国产亚洲AV无码男同 | 亚洲国产999| 日韩小视频在线| 偷拍精品精品一区二区三区| 国产伦精品一区二区三区照片| 婷婷综合激情| 杨幂毛片午夜性生毛片 | 蜜乳av一区二区| 最新中文字幕视频| 亚洲国产三级在线| 国产麻豆免费视频| 日韩在线视频线视频免费网站| 欧美1级2级| 久久精品国产理论片免费| 艳女tv在线观看国产一区| www.天天射.com| 久久久久国产精品麻豆ai换脸| 日韩免费不卡视频| 日韩一级免费观看| av香蕉成人| 成人欧美一区二区三区在线| 日韩av自拍| 国产视频一区二区视频| 91免费版在线看| 亚洲天堂视频网站| 日韩av在线电影网| 国产亚洲成av人片在线观看| 国产伦精品一区二区三区高清| 欧美午夜不卡影院在线观看完整版免费| 91aaa精品| 亚洲人成小说网站色在线| 国产精品人人妻人人爽| 播播国产欧美激情| 欧洲美女精品免费观看视频| 亚洲一区不卡在线| 久久机这里只有精品| xxxxx99| 9191久久久久久久久久久| 婷婷在线视频| 亚洲xxxx做受欧美| 午夜国产精品视频| 无码人妻一区二区三区精品视频| 亚洲老司机在线| 高h放荡受浪受bl| 久久久久久久久久久亚洲| 久久这里只有精品一区二区| 777777av| 国产日韩欧美不卡在线| 国产精品露脸视频| 精品国产拍在线观看| 国产一区二区三区视频在线| 草草草视频在线观看| 不卡影院免费观看| 一二三区免费视频| 在线亚洲男人天堂| 日本免费一区二区视频| 激情伊人五月天| 国产欧美日韩三级| 99国产成人精品| 97在线视频免费看| 国产一区二区三区不卡视频网站| 色乱码一区二区三区在线| 亚洲日本在线视频观看| 天天干天天舔天天射| 国产精品久久不能| 91精品一区二区三区综合| 一级少妇精品久久久久久久| 色综合天天做天天爱| 黄色在线免费| 精品一区二区三区日本| 欧美a级理论片| 欧美三级 欧美一级| 亚洲精品日韩丝袜精品| www欧美在线观看| 成年人视频观看| 日韩毛片在线免费观看| 日本久久一级片| 国产自产女人91一区在线观看| 激情久久久久| 九一在线免费观看| 精品国产一区二区三区久久久蜜月| 韩国美女久久| 成人av在线不卡| 国产精品毛片久久久久久久| 日本黄视频在线观看| 国产精品午夜一区二区欲梦| 精久久久久久|