欧美亚洲韩国_av电影院在线看_久久久久97_台湾佬中文娱乐网欧美电影

站長資訊網
最全最豐富的資訊網站

手把手帶你從0開始創建并發布npm包

都2202年了,不會有人還不會發布npm包吧?下面本篇文章給大家分享一下從0開始創建并發布npm的全過程,希望對大家有所幫助!

手把手帶你從0開始創建并發布npm包

前端(vue)入門到精通課程,老師在線輔導:聯系老師
Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調試工具:點擊使用

背景

4月發布了一篇文章,快來升級你項目內的axios封裝,向重復請求say goodbye,介紹了axios的二次封裝用于支持常規請求及自定義請求,并對同一時間內的相同請求做攔截處理(如果您沒有閱讀過這篇文章,建議您花費3分鐘大致了解)。恰逢最近準備寫一個跨框架組件庫(工作量很大,前端三個小伙伴利用空閑時間在卷,待組件庫完善后會分享給大家,敬請期待),需要學習發布npm包,昨天就想著利用空閑時間把之前寫的去除重復請求的axios封裝發布為npm包,便于代碼復用,回饋社區的同時也能學以致用。

閱讀本文,你將收獲:

  • 從0開始創建并發布npm的全過程。【相關教程推薦:nodejs視頻教程、編程教學】

  • 一個持續迭代且簡單實用的axios請求去重工具庫。

工具庫準備

創建一個新項目,包含package.json

{     "name": "drrq",     "type": "module",     "version": "1.0.0" }
登錄后復制

功能實現 /src/index.js

npm i qs axios

主要思路是用請求的url和參數作為key記錄請求隊列,當出現重復請求時,打斷后面的請求,將前面的請求結果返回時共享給后面的請求。

import qs from "qs"; import axios from "axios";  let pending = []; //用于存儲每個ajax請求的取消函數和ajax標識 let task = {}; //用于存儲每個ajax請求的處理函數,通過請求結果調用,以ajax標識為key  //請求開始前推入pending const pushPending = (item) => {     pending.push(item); }; //請求完成后取消該請求,從列表刪除 const removePending = (key) => {     for (let p in pending) {         if (pending[p].key === key) {             //當前請求在列表中存在時             pending[p].cancelToken(); //執行取消操作             pending.splice(p, 1); //把這條記錄從列表中移除         }     } }; //請求前判斷是否已存在該請求 const existInPending = (key) => {     return pending.some((e) => e.key === key); };  // 創建task const createTask = (key, resolve) => {     let callback = (response) => {         resolve(response.data);     };     if (!task[key]) task[key] = [];     task[key].push(callback); }; // 處理task const handleTask = (key, response) => {     for (let i = 0; task[key] && i < task[key].length; i++) {         task[key][i](response);     }     task[key] = undefined; };  const getHeaders = { 'Content-Type': 'application/json' }; const postHeaders = { 'Content-Type': 'application/x-www-form-urlencoded' }; const fileHeaders = { 'Content-Type': 'multipart/form-data' };  const request = (method, url, params, headers, preventRepeat = true, uploadFile = false) => {     let key = url + '?' + qs.stringify(params);     return new Promise((resolve, reject) => {         const instance = axios.create({             baseURL: url,             headers,             timeout: 30 * 1000,         });          instance.interceptors.request.use(             (config) => {                 if (preventRepeat) {                     config.cancelToken = new axios.CancelToken((cancelToken) => {                         // 判斷是否存在請求中的當前請求 如果有取消當前請求                         if (existInPending(key)) {                             cancelToken();                         } else {                             pushPending({ key, cancelToken });                         }                     });                 }                 return config;             },             (err) => {                 return Promise.reject(err);             }         );          instance.interceptors.response.use(             (response) => {                 if (preventRepeat) {                     removePending(key);                 }                 return response;             },             (error) => {                 return Promise.reject(error);             }         );          // 請求執行前加入task         createTask(key, resolve);          instance(Object.assign({}, { method }, method === 'post' || method === 'put' ? { data: !uploadFile ? qs.stringify(params) : params } : { params }))             .then((response) => {                 // 處理task                 handleTask(key, response);             })             .catch(() => {});     }); };  export const get = (url, data = {}, preventRepeat = true) => {     return request('get', url, data, getHeaders, preventRepeat, false); };  export const post = (url, data = {}, preventRepeat = true) => {      return request('post', url, data, postHeaders, preventRepeat, false);  };  export const file = (url, data = {}, preventRepeat = true) => {      return request('post', url, data, fileHeaders, preventRepeat, true);  }; export default { request, get, post, file };
登錄后復制

新增示例代碼文件夾/example

示例入口index.js

import { exampleRequestGet } from './api.js'; const example = async () => {     let res = await exampleRequestGet();     console.log('請求成功 '); }; example();
登錄后復制

api列表api.js

import { request } from './request.js'; // 示例請求Get export const exampleRequestGet = (data) => request('get', '/xxxx', data);  // 示例請求Post export const exampleRequestPost = (data) => request('post', '/xxxx', data);  // 示例請求Post 不去重 export const exampleRequestPost2 = (data) => request('post', '/xxxx', data, false);  // 示例請求Post 不去重 export const exampleRequestFile = (data) => request('file', '/xxxx', data, false);
登錄后復制

全局請求封裝request.js

import drrq from '../src/index.js'; const baseURL = 'https://xxx';  // 處理請求數據  (拼接url,data添加token等) 請根據實際情況調整 const paramsHandler = (url, data) => {     url = baseURL + url;     data.token = 'xxxx';     return { url, data }; };  // 處理全局接口返回的全局處理相關邏輯  請根據實際情況調整 const resHandler = (res) => {     // TODO 未授權跳轉登錄,狀態碼異常報錯等     return res; };  export const request = async (method, _url, _data = {}, preventRepeat = true) => {     let { url, data } = paramsHandler(_url, _data);     let res = null;     if (method == 'get' || method == 'GET' || method == 'Get') {         res = await drrq.get(url, data, preventRepeat);     }     if (method == 'post' || method == 'POST' || method == 'Post') {         res = await drrq.post(url, data, preventRepeat);     }     if (method == 'file' || method == 'FILE' || method == 'file') {         res = await drrq.file(url, data, preventRepeat);     }     return resHandler(res); };
登錄后復制

測試功能

代碼寫完后,我們需要驗證功能是否正常,package.json加上

    "scripts": {         "test": "node example"     },
登錄后復制

執行npm run test

手把手帶你從0開始創建并發布npm包

功能正常,工具庫準備完畢。

(eslint和prettier讀者可視情況選用)

打包

一般項目的打包使用webpack,而工具庫的打包則使用rollup

安裝 Rollup

通過下面的命令安裝 Rollup:

npm install --save-dev rollup
登錄后復制

創建配置文件

在根目錄創建一個新文件 rollup.config.js

export default {   input: "src/index.js",   output: {     file: "dist/drrp.js",     format: "esm",     name: 'drrp'   } };
登錄后復制

  • input —— 要打包的文件
  • output.file —— 輸出的文件 (如果沒有這個參數,則直接輸出到控制臺)
  • output.format —— Rollup 輸出的文件類型

安裝babel

如果要使用 es6 的語法進行開發,還需要使用 babel 將代碼編譯成 es5。因為rollup的模塊機制是 ES6 Modules,但并不會對 es6 其他的語法進行編譯。

安裝模塊

rollup-plugin-babel 將 rollup 和 babel 進行了完美結合。

npm install --save-dev rollup-plugin-babel@latest npm install --save-dev @babel/core  npm install --save-dev @babel/preset-env
登錄后復制

根目錄創建 .babelrc

{     "presets": [       [         "@babel/preset-env",         {           "modules": false         }       ]     ] }
登錄后復制

兼容 commonjs

rollup 提供了插件 rollup-plugin-commonjs,以便于在 rollup 中引用 commonjs 規范的包。該插件的作用是將 commonjs 模塊轉成 es6 模塊。

rollup-plugin-commonjs 通常與 rollup-plugin-node-resolve 一同使用,后者用來解析依賴的模塊路徑。

安裝模塊

npm install --save-dev rollup-plugin-commonjs rollup-plugin-node-resolve
登錄后復制

壓縮 bundle

添加 UglifyJS 可以通過移除注上釋、縮短變量名、重整代碼來極大程度的減少 bundle 的體積大小 —— 這樣在一定程度降低了代碼的可讀性,但是在網絡通信上變得更有效率。

安裝插件

用下面的命令來安裝 rollup-plugin-uglify:

npm install --save-dev rollup-plugin-uglify
登錄后復制

完整配置

rollup.config.js 最終配置如下

import resolve from 'rollup-plugin-node-resolve'; import commonjs from 'rollup-plugin-commonjs'; import babel from 'rollup-plugin-babel'; import { uglify } from 'rollup-plugin-uglify'; import json from '@rollup/plugin-json'  const paths = {     input: {         root:  'src/index.js',     },     output: {         root:  'dist/',     }, };  const fileName = `drrq.js`;  export default {     input: `${paths.input.root}`,     output: {         file: `${paths.output.root}${fileName}`,         format: 'esm',         name: 'drrq',     },     plugins: [         json(),         resolve(),         commonjs(),         babel({             exclude: 'node_modules/**',             runtimeHelpers: true,         }),         uglify(),     ], };
登錄后復制

在package.json中加上

"scripts": {     "build": "rollup -c" },
登錄后復制

即可執行npm run build將/src/index.js打包為/dist/drrq.js

發包前的準備

準備npm賬號,通過npm login或npm adduser。這里有一個坑,終端內連接不上npm源,需要在上網工具內復制終端代理命令后到終端執行才能正常連接。

手把手帶你從0開始創建并發布npm包

準備一個簡單清晰的readme.md

手把手帶你從0開始創建并發布npm包

修改package.json

完整的package.json如下

{     "name": "drrq",     "private": false,     "version": "1.3.5",     "main": "/dist/drrq.js",     "repository": "https://gitee.com/yuanying-11/drrq.git",     "author": "it_yuanying",     "license": "MIT",     "description": "能自動取消重復請求的axios封裝",     "type": "module",     "keywords": [         "取消重復請求",     ],     "dependencies": {         "axios": "^1.2.0",         "qs": "^6.11.0"     },     "scripts": {         "test": "node example",         "build": "rollup -c"     },     "devDependencies": {        ...     } }
登錄后復制

  • name 包名稱 一定不能與npm已有的包名重復,想一個簡單易記的
  • private 是否為私有
  • version 版本
  • main 入口文件位置
  • repository git倉庫地址
  • author 作者
  • license 協議
  • description 描述
  • keywords 關鍵詞,便于檢索

每個 npm 包都需要一個版本,以便開發人員在安全地更新包版本的同時不會破壞其余的代碼。npm 使用的版本系統被叫做 SemVer,是 Semantic Versioning 的縮寫。

不要過分擔心理解不了相較復雜的版本名稱,下面是他們對基本版本命名的總結: 給定版本號 MAJOR.MINOR.PATCH,增量規則如下:

  • MAJOR 版本號的變更說明新版本產生了不兼容低版本的 API 等,

  • MINOR 版本號的變更說明你在以向后兼容的方式添加功能,接下來

  • PATCH 版本號的變更說明你在新版本中做了向后兼容的 bug 修復。

表示預發布和構建元數據的附加標簽可作為 MAJOR.MINOR.PATCH 格式的擴展。

最后,執行npm publish就搞定啦

手把手帶你從0開始創建并發布npm包

手把手帶你從0開始創建并發布npm包

本文的完整代碼已開源至gitee.com/yuanying-11… ,感興趣的讀者歡迎fork和star!

轉載地址:https://juejin.cn/post/7172240485778456606

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
主站蜘蛛池模板: 黄瓜污视频在线观看 | 亚洲福利视频一区 | av激情网站 | 豆豆成人网 | 在线va视频| 亚洲综合大片69999 | 手机在线观看免费av | 精品国产伦一区二区三区免费 | 国产精品国产成人国产三级 | 久国产视频| 在线观看免费毛片视频 | 午夜婷婷在线播放 | 成人在线视频网 | 久久艹在线| 99色国产| 亚洲欧美一区二区三 | 久久免费影院 | 狠狠干一区二区 | 欧美成年视频 | 北条麻妃一区二区三区 | 天天操人人 | 国产精品嫩草影院桃色 | 成人三级在线播放 | 久久男人精品 | 国产精品91久久 | 欧美精品一区二区三 | 国产福利小视频 | 国产精品影片 | 欧美日韩成人在线观看 | 亚洲精品久久久久久久蜜桃 | 国产真实交换夫妇视频 | bbbbbxxxxx性欧美 | xxxwww在线观看 | 精品国产免费观看 | 黄色片免费视频 | 精品国产xxx | 国产免费小视频 | 免费观看一区 | 亚洲成人黄色网址 | 日日干日日射 | 色乱码一区二区三在线看 | 国产最新自拍 | 色综合中文 | 国产三级视频在线播放 | 国产精品1区2区3区 日韩操 | 青草成人| 成人短视频在线免费观看 | 亚洲社区在线 | 在线看成人片 | 另类性姿势bbwbbw | 日本一卡二卡在线 | 免费中文字幕日韩欧美 | 国产精品久久久久久久久久久久久久不卡 | 亚洲成人久久久久久久 | 日韩一区免费视频 | 六月激情网 | 国产一区在线视频观看 | 亚洲免费a| 欧美精品久久久久久久 | 伦理自拍 | 五月天婷婷丁香花 | 亚洲大尺度av | 一区一区三区产品乱码 | 日韩白浆 | 91av一区 | 精品中文字幕在线观看 | www.精品一区 | 免费在线看视频 | 久久黄色精品视频 | 亚洲 欧美 国产 制服 动漫 | xx69欧美 | 老司机亚洲精品 | 亚洲图区综合网 | 青草青在线视频 | 亚洲图区欧美 | 日韩视频一区二区三区 | 日韩免费福利 | 在线观看国产日韩 | 国产免费拔擦拔擦8x在线播放 | 亚洲黄业| 夜夜草网站 | 性生活香蕉视频 | 97久久久久久 | 国内自拍视频在线观看 | 毛片的网站 | 亚洲乱码久久 | 精品国产乱 | 九九免费在线视频 | 欧美精品在线看 | 黄色av网站在线播放 | 久久国产精 | 日本毛片网站 | 欧美一级特黄视频 | 水蜜桃91 | 一区二区国产视频 | 亚洲精品福利网 | 芭乐视频色 | 久久国产一区 | 高潮毛片无遮挡免费看 | 成年人网站在线 | 91成人短视频 | 精品国产乱码久久久久久久 | 99精品人妻国产毛片 | 国产又黄又猛又爽 | 亚洲精品.www | 免费a视频在线观看 | 一级黄色片欧美 | 亚洲91视频| 永久免费看mv网站入口78 | 成年人精品 | 久久国产精品99精国产 | 最近日本中文字幕 | xxxx亚洲 | 成人av资源网 | 91九色视频在线观看 | 色婷婷av一区二区三区软件 | 久久久久女教师免费一区 | 一品道av | 国产一级片免费视频 | 精品少妇一区二区视频在线观看 | 天天射夜夜骑 | 国产一级片一区二区三区 | 亚洲一区二区三区精品视频 | 95久久| 337p亚洲精品色噜噜噜 | 成年人免费网站在线观看 | 日韩视频免费 | 青青草55 | 成人精品国产免费网站 | 天堂俺去俺来也www久久婷婷 | 欧美国产日韩一区二区 | 日本顶级大片 | 古装做爰无遮挡三级视频 | 国产毛片一区二区三区va在线 | 国产一区二区亚洲 | 久久青青草原 | 91久久国产 | 加勒比久久综合 | 性色av蜜桃| 一本之道av | 日本成人在线网站 | 亚洲一区精品二人人爽久久 | 国内精品嫩模av私拍在线观看 | 日韩精选在线观看 | 丰满岳乱妇一区二区 | 日韩av一二区 | www.日韩.com | 国产a一级片| 久久久久中文字幕 | 欧美午夜精品 | 一本久久精品久久综合桃色 | 日日干,夜夜操 | 欧美亚洲第一页 | 色婷婷伊人 | 九一爱爱 | 欧美 变态 另类 人妖 | 午夜理伦三级理论 | 99久久精品国产麻豆演员表 | 国产18在线| 日韩一级片视频 | 中文字幕日本视频 | 亚洲一区视频在线播放 | 叼嘿视频91| 日本久草视频 | 一级性爱视频 | 亚洲第一视频网 | 少妇激情网 | 国内自拍99 | 冈本视频在线观看 | www.奇米.com| 日韩午夜一区 | 天天干天天插天天操 | 日本美女操 | 在线婷婷| 亚洲永久精品一区二区三区 | 久久久婷婷 | 欧美三级在线播放 | 欧美日韩一区二区不卡 | 四虎影库永久在线 | 亚天堂| 国产黄在线 | 99精品国产一区二区 | 都市激情自拍 | 日本免费专区 | 久久久国产一区二区 | 中文字幕网址在线 | 国产99一区二区 | av视屏| 99午夜视频 | 国内精品偷拍 | 亚洲免费观看视频 | 免费av大全| 全部毛片永久免费看 | 葵司在线视频 | 亚洲免费成人网 | 能看av的网站 | 婷婷色婷婷 | 国内偷拍第一页 | 三级大片在线观看 | 久久蜜桃香蕉精品一区二区三区 | 日韩理论片在线观看 | 黄色天堂网 | 在线免费观看中文字幕 | 久久这里有精品视频 | 欧美性生交xxxxx久久久 | 欧美成人h版| 久久97视频 | 韩国午夜影院 | www.78av| 国产女主播视频一区二区三区 | 国产视频精选 | 超碰天天| 一级黄色大片网站 | 视频一区二区三区四区五区 | 成人欧美一区二区 | 成人黄色录像 | 性xxxx视频 | 成人久久网站 | 日韩高清一区二区 | 国产精品一区二区三区免费 | 成人精品视频在线 | 亚洲麻豆国产 | 国产又粗又猛又黄又爽无遮挡 | 69超碰| 午夜影院h | 在线免费观看日本 | 一区二区三区在线观看免费 | 1769国产精品视频 | 双性皇帝高h喷汁呻吟 | 91老肥熟 | 欧美激情三区 | 精品乱子伦一区二区 | 国产成人中文字幕 | 一级特黄aaa大片 | 免费黄色看片 | 28一20岁女人一级 | 日韩欧美一区二区三区四区 | 欧美精品久久久久久久久老牛影院 | 亚洲一区二区精华液 | 亚洲精品视频二区 | 亚洲乱码国产乱码精品精 | 午夜一级大片 | 真人bbbbbbbbb毛片 | 亚洲精品乱码 | 日本视频免费在线 | 精品美女一区二区三区 | 综合一区在线观看 | 亚洲欧美另类激情 | h片在线观看免费 | 久色88 | 性色tv | 最新中文字幕在线观看视频 | 久久一二 | 国产xxxx | 99一级片 | 在线色图 | 五月婷影院 | 欧美一级片在线免费观看 | 亚洲女人天堂 | 亚洲三区视频 | 第一色综合 | 欧美老司机 | 亚洲精品一二 | 在线观看91 | 91网站在线免费看 | 在线一区视频 | 久久va| 亚洲视频精品 | 欧美精品二区三区 | 国产黄a三级三级三级看三级男男 | 国产精品2| 国产乱码久久久久久 | 韩国av一区二区 | 亚洲一级在线观看 | 在线免费看a| 欧美性免费 | 国产精品毛片av | 色花堂在线 | 欧美福利影院 | 国产精品一区二区综合 | 国产精品久久久久久中文字 | 狠狠狠狠干 | 国产午夜视频在线 | 五月情婷婷 | 影音先锋一区 | www.成人| 7777精品久久久久久 | 九九热在线视频观看 | 9191在线视频 | 四虎成人影视 | 精品动漫一区二区三区 | 国产高清自拍视频 | 超碰777 | 国产另类自拍 | 国产激情免费视频 | 亚洲成在线 | 亚洲v在线观看 | 久草香蕉视频 | 中文久久久 | 中国黄色免费 | 欧美日韩亚洲系列 | 成人a免费看 | 一区一区三区产品乱码 | 极品美女无套呻吟啪啪 | 青青青青草| 亚洲视频免费在线播放 | 最新国产视频 | 欧美日韩一区二区在线播放 | 蜜桃臀av| 日韩成人免费av | 三级黄色免费 | 懂色av.com | 日皮视频免费看 | 按摩ⅹxxx性hd中国 | 韩国理论午夜 | 性做久久久久久免费观看欧美 | 亚洲综合五区 | 最近国语视频在线观看免费播放 | 亚洲一区视频在线播放 | 九九精品在线视频 | 美日韩av在线 | 成人性毛片 | a级成人毛片| 91欧美日韩麻豆精品 | 亚洲天堂资源 | 成人a视频片观看免费 | 欧产日产国产精品98 | 特级西西人体444www | 特级毛片在线 | 午夜18视频在线观看 | 乱h高h3p男女三人行 | 在线观看黄色网页 | 亚洲天堂不卡 | 双性皇帝高h喷汁呻吟 | 雪白的扔子视频大全在线观看 | 久久久久久久久国产 | 中文字幕在线免费看 | 一级黄色欧美 | 91精品国产福利一区二区三区 | 成人综合av | 伊人论坛 | 狠狠淫xxx | 九九热国产视频 | 中文字幕日韩在线观看 | 欧美激情小视频 | 特黄一级片 | 亚洲午夜天堂 | 波多野结衣绝顶大高潮 | 婷婷丁香九月 | 一级欧美一级日韩片 | 不卡视频在线播放 | 欧美 日韩 中文 | 国产福利专区 | 国产三级av在线 | 日韩在线观看视频一区 | 狠狠操在线视频 | 国产精品女人久久久 | 国产激情影院 | 国产精品av在线 | 欧美成人怡红院| 色一情一交一乱一区二区三区 | 久久这里有精品 | 综合狠狠干 | 亚洲蜜臀av国产aⅴ综合小说 | 亚洲精品国产手机 | 天天色影院| www.av视频在线观看 | 黄色网址大全免费 | 国产三级av在线 | 亚洲国产女人aaa毛片在线动漫 | 亚洲另类xxxx | 色婷婷久久一区二区三区麻豆 | 亚洲欧美另类国产 | 快播久久 | 偷拍一区二区 | 久久这里只有精品6 | 99热91| 欧美视频亚洲 | 亚洲 欧美 国产 制服 动漫 | 91精品国产乱码 | 少妇高潮一区二区三区99小说 | 国产精品成人久久久 | 二区视频在线观看 | 欧美综合区 | 福利一区二区三区四区 | 伊人精品在线视频 | 国产精品福利一区 | 九九爱国产 | 神马午夜888 | 亚洲午夜精品一区二区三区他趣 | 四虎国产精品免费 | 黄色avav | 亚洲国产精品美女 | www国产| 少妇高潮久久久久久潘金莲 | 亚洲国产网站 | 午夜影院男女 | 国产天天操 | 特黄老太婆aa毛毛片 | 国产11页| 日本久久综合 | av不卡在线观看 | 一区不卡在线 | 欧美成人动态图 | 黄色av免费| 精品国产乱码久久久久久蜜柚 | 91亚洲精品久久久蜜桃网站 | 日本午夜网站 | 天天操天天操天天操天天 | 成人免费视| av网站在线免费观看 | 久久精品一二三 | 国产黄色www | 国产美女毛片 | 日日夜夜天天 | 天堂av在线免费 | 国产尤物网站 | 亚洲精品短视频 | 国产精品一二区在线观看 | 美国一级大黄一片免费中文 | 免费伊人 | 日日骚网 | 日本免费网址 | www.国产黄色| 久久99亚洲精品 | 91亚洲精选| аⅴ资源新版在线天堂 | 国产高清不卡一区 | 久久久免费网站 | 一级做a爰片久久毛片一 | 天堂av官网 | 国产色拍 | 国产对白videos麻豆高潮 | 天天搞夜夜 | 日韩欧美在线观看免费 | 日韩精品在线观看一区 | 天堂av一区 | 国产99免费视频 | 欧美日韩一区二区三区四区五区 | 久久激情影院 | 亚洲在线精品视频 | 亚洲人成高清 | 成人免费毛片男人用品 | 视频区图片区小说区 | 找个毛片看看 | 日日操日日干 | 一二三四日本高清社区5 | 天天干天天操天天 | 国产精品久久久91 | 成人免费视频a | 国产午夜亚洲精品午夜鲁丝片 | 激情777| 性插视频在线观看 | 男女一区| 一本大道久久精品懂色aⅴ 久久久久久亚洲欧洲 | 欧美日韩精品在线观看 | 精品一区免费观看 | 天天人人| 黄色三级视屏 | 欧美又粗又深又猛又爽啪啪九色 | 日本网站在线播放 | 中文字幕 国产 | 国产视频网站在线观看 | 日韩中文字幕第一页 | 成人a视频在线观看 | 视频一区日韩 | 欧美激情动态图 | 欧美日韩在线一区二区 | 全球av在线| 成人激情四射 | 久久男女视频 | 免费观看毛片视频 | 91在线播放视频 | 亚洲最大黄网 | 欧洲激情网 | 国产综合第一页 | 国产亚洲91| 在线播放黄色网址 | 欧美男人的天堂 | 人人艹视频 | av香蕉网 | 777奇米视频 | 国产视频一区二区在线观看 | 亚洲v在线 | 91久久久久久久久久 | 看片一区 | 天天操天天干天天摸 | 天天综合网站 | 天天躁日日躁bbbbb | 在线视频国产一区 | 国产肉体xxxx裸体高清 | 日韩黄色av | 中文字幕在线日本 | 亚洲免费区 | 热久久精品 | 日韩欧美的一区二区 | 欧美精品一区二区三区久久久竹菊 | 日本久久精品视频 | 夜夜躁天天躁很 | 亚洲综合色丁香婷婷六月图片 | 一区二区三区精品视频在线观看 | 欧美日韩啪啪 | 黄瓜视频色版 | 国产日本精品视频 | 国产精品嫩草影院桃色 | 青青在线精品 | 草草影院av| 天天av天天| 成人免费国产 | 澳门av在线 | 国产一二三级 | 一级片久久久久久久 | 国产91免费在线观看 | 性欧美极品另类 | 日本涩涩视频 | 午夜小影院 | 1024国产在线| 亚欧精品在线观看 | 在线视频播放大全 | 人人超碰人人 | 久久国产精品毛片 | 日本色片网站 | 91麻豆精品国产91久久久久久久久 | 一级成人黄色片 | 全部免费毛片在线播放高潮 | 日韩精品久久久久久免费 | 国产网址视频 | 国产黄色大片网站 | www三级免费 | 久久综合导航 | 亚洲免费视频大全 | www.x日本| 亚洲美女操 | 日本特级淫片 | 久久精品第一页 | 精品卡一卡二卡3卡高清乱码 | 亚洲精品国产精品乱码不卡√香蕉 | 成人欧美一区二区三区在线观看 | 国产在线专区 | 中文字幕一区二区三区精华液 | 国产亚洲精品成人av久久ww | 国产色影院| 福利视频亚洲 | 日韩乱码一区二区三区 | 特级新鲜大片片 | 欧美 日韩 视频 | 亚洲欧美中文日韩在线观看 | 日本精品一二三 | 成人免费国产 | 九九黄色片 | 五月天丁香网 | 在线中文一区 | 国产九色91回来了 | 男女激情免费网站 | 91免费福利 | 性按摩xxxⅹ视频 | 亚洲 自拍 另类 欧美 | 亚洲精品无 | 情侣在线视频 | 亚洲图片激情小说 | 日韩精品综合 | 一区二区三区国产在线 | 樱桃香蕉视频 | 久久精品2024| www.色在线观看 | 99热这里只有精品99 | 黄色午夜视频 | 亚洲第七页 | 狠狠操狠狠摸 | 色婷婷av一区二区三区gif | 不卡av在线 | 亚洲香蕉av| 粉嫩av一区二区三区免费观看 | 第一福利在线 | 久久中文字幕在线 | 97自拍偷拍 | 一级做a在线观看 | 国产精品伊人 | 97视频网站 | 波多野结衣免费看 | 精品一区91 | 久久国产露脸精品国产 | 华丽的外出在线观看 | 91操操操 | 色亚洲欧美 | 爱爱视频在线免费观看 | 99在线视频播放 | 西西午夜视频 | 99精品在线看 | 日韩专区视频 | 黄色小视频免费观看 | 国产三级一区二区三区 | 国产成人av大片 | 日本黄在线 | 欧美高清在线视频 | 久久精品一区二区三区不卡牛牛 | 激情啪啪网| 一区二区三区色视频 | 午夜毛片 | 五月综合激情日本mⅴ | 国产精品久久网 | 激情综合网五月婷婷 | 亚洲成人黄色 | 天天干少妇 | 91久久国产综合精品女同国语 | 日韩一级片免费看 | 亚洲精品国产一区 | 一级视频在线免费观看 | 国产女人18毛片水18精 | 国产精久久| 男女性生活视频网站 | 青青艹在线观看 | 亚洲大尺度网站 | 精品日韩中文字幕 | 亚洲另类激情综合偷自拍图 | 国产女主播一区 | 婷婷爱爱 | 枫可怜av| 国产福利在线免费观看 | 91视频看看| 九九综合九九 | 日韩毛片在线看 | 男女视频久久 | 一道本无吗一区 | 亚洲黄色a级片 | 日韩毛片一区 | 久色网| 亚洲一区二区视频在线观看 | 免费激情网 | 一级片a级片 | 成人做受黄大片 | 超碰在线观看99 | 久久久九九九九 | 黄色片在线网站 | 神马一区二区三区 | 色天天av | 国产激情第一页 | 亚洲欧美精品 | 亚洲成人www| 国产精品视频在线观看免费 | 精品国产乱码久久久久 | 国产xxxx裸体肉体大胆147 | 国产精品美女久久久 | 国产精品国产精品国产专区不片 | 亚洲天堂一| 97黄色片| 精品久久综合 | 日本一卡二卡在线 | 日日艹夜夜艹 | 香蕉视频国产 | 免费污视频 | 午夜视频在线免费观看 | 狠狠躁日日躁夜夜躁 | 国产三级在线免费 | 日韩午夜免费视频 | 欧洲成人在线 | 国产午夜在线播放 | 特黄特色大片免费播放器使用方法 | 免费黄网站在线 | 99久久免费精品高清特色大片 | 青青精品 | 天天操天天爱天天干 | 亚洲人和日本人hd | 国产一级二级av | 免费日韩av| 激情开心站 | 东方伊甸园av在线 | 日韩高清免费av | 天天做天天爱天天爽综合网 | 久久只有精品 | 国产精品国产三级国产专区53 | 国产美女精品一区二区 | 小敏的受孕日记h | 日韩成人在线看 | 中文一区在线 | 日韩另类视频 | 欧美日韩国产成人 | 求欧美精品网址 | 亚洲成年网站 | 亚洲成人福利 | 欧美大片一区二区三区 | 欧美精品毛片 | 91在线免费视频观看 | 欧美精品一区在线观看 | 伊人久久久久久久久久久 | 亚洲一级免费视频 | 亚洲精品第二页 | 欧美一区二区三区影院 | 国产精品国产a级 | 亚洲综合在线观看视频 | 日本国产一区 | 亚洲国产网站 | 成人香蕉视频在线观看 | 久久99精品久久久久婷婷 | 亚洲国产二区 | 最近好看的2019中文在线一页 | 成人小视频免费 | 成人美女视频 | 毛片直接看 | 啪啪中文字幕 | 天天做天天操 | 三级网站在线 | 在线观看亚洲一区 | 中文字幕网站在线观看 | 性涩av| 曰韩av| 国产精品视频在线免费观看 | 亚洲视频中文字幕 | 国产精品激情av久久久青桔 | 欧美日韩视频一区二区 | 国产精品视频一 | 操操操综合网 | 亚洲综合一区二区三区 | 色玖玖综合 | 超碰黄色| 96精品国产 | 免费亚洲婷婷 | 中文字幕在线观看精品 | 日本一级大毛片a一 | 欧美片免费网站 | 夜夜操夜夜干 | 亚洲天堂一 | 日本99视频 | 老司机在线看片 | 日韩福利一区 | 一本大道久久a久久综合婷婷 | av青草| 色综合天天综合综合国产 | 无码少妇一区二区三区 | 亚洲免费在线观看av | 亚洲综合五月天婷婷丁香 | 在线观看免费视频黄 | 国产第一区第二区 | 欧洲毛片 | 五月婷婷婷 | 国产精品视频免费看 | 一本久 | 国产一区二区三区高清 | 99午夜视频 | 亚洲精品在线观看av | 深夜福利一区二区 | 国产精品久久久久久久不卡 | 亚洲人网 | 经典毛片 | 伊人黄色片 | 国产原创麻豆 | 精品中文字幕一区 | 天堂在线视频免费观看 | 国产视频一二 | 亚洲欧美黄色片 | 日韩第二页| 久久久久亚洲精品中文字幕 | 日日夜夜网站 | 一级做a爰片久久毛片潮喷 欧美猛操 | 欧美性在线观看 | 欧美一区二区三区成人 | 一色桃子av在线 | 伊人天堂网 | 国产精品久久婷婷六月丁香 | 国产做受网站 | 一区二区三区观看 | 在线观看国产黄色 | 夜色成人网| 亚洲欧美日韩一区二区 | 91中文字幕在线观看 | 日韩成人中文字幕 | 麻豆久久久 | 新狠狠干 | 欧美一级生活片 | av色播 | 国产aa| 成人黄色在线观看 | 奇米网在线观看 | 国产精品成人免费看片 | 亚洲精品福利在线观看 | 农村寡妇一区二区三区 | 亚洲 小说区 图片区 | 影音先锋亚洲天堂 | 黄色免费大片 | 国产丝袜在线播放 | 黄色网址在线免费观看 | 久久免费片 | 一区二区在线免费观看视频 | 极品美女开粉嫩精品 | 99久久毛片 | 一本大道久久a久久综合婷婷 | 五月婷婷,六月丁香 | 亚洲第一综合色 | 伊人春色影院 | 亚洲爱爱综合网 | 亚洲欧美一区在线观看 | 亚洲第1页 | 福利在线播放 | 五月婷婷狠狠 | 夜夜嗨av一区二区三区网页 | 欧美激情综合色综合啪啪五月 | 婷婷国产在线 | 欧美一区二区三区在线视频 | 偷拍亚洲视频 | 成人综合av | 久久一区二区精品 | 国产第一毛片 | 五月婷婷综合久久 | 国产网站在线免费观看 | 久久久91视频 | 久久综合一区二区三区 | 在线观看日韩视频 | 性开放永久免费视频 | 久久精品2024 | www.com在线观看| 操操操av| 国产又粗又长视频 | 久久国产美女 | 亚洲欧美综合精品久久成人 | 国产精品2019 | tp农村土炕激情偷拍 | 国产三级国产精品国产普通话 | a免费在线观看 | 久久久久久久黄色 | 国产精品亚洲欧美在线播放 | 欧美嘿咻视频 | 3p视频在线观看 | 99只有精品 | 亚洲精品9999 | 亚洲动漫精品 | www.色在线观看 | 久久久久久福利 | 精品动漫一区 | 图片区小说区视频区 | 91超碰在线播放 | 国产美女无遮挡永久免费 | 国产高清一二三区 | 国产成年人免费视频 | 国产黄色片免费看 | 91免费成人 | 操操干| 人人舔| 日韩av网址大全 | 亚洲欧美激情国产综合久久久 | 免费色网站 | 国产精品综合久久久久久 | 久久久久久免费观看 | 欧美日韩不卡视频 | 天天综合天天做天天综合 | 高清黄色一级片 | 国产精品老牛影视 | 免费三级黄色 | 中文字幕在线播放视频 | 国产精品一线 | 久日精品视频 | 91婷婷色| 青青在线视频 | 国产一区二区小视频 | 最新最近中文字幕 | 草久在线 | 大号bbwassbigav女 | 久久久亚洲成人 | 最新久久久 | 精品一区二区三区免费 | 久久久中文字幕 | 黄色免费av网站 | 第一福利丝瓜av导航 | 日韩精品播放 | 夜夜骑天天干 | 国产一区二区视频网站 | 国产精品久久久久桃色tv | 黄色片在线视频 | 爽爽窝窝午夜精品一区二区 | 在线观看亚洲专区 | 三级黄色免费片 | 国产精品美女久久久久久久久 | 日日夜夜精品免费视频 | 国产精品久久久久久久久久10秀 | 美女视频免费在线观看 | www.色视频 | 国语对白91 | 国产一级性生活 | 不卡的av在线播放 | 日本精品视频在线播放 | 在线免费黄色片 | 一区二区免费在线 | 日本做爰高潮又黄又爽 | 亚洲精品成人在线 | 91成人天堂久久成人 | 一级做a爰片性色毛片 | 人人九九精 | 三级网站免费观看 | 亚洲在线观看免费 | 成人av影视在线观看 | 日韩精品系列 | 男女插插网站 | 天天综合网天天综合 | 亚洲 小说区 图片区 都市 | 爱爱视频天天干 | 欧美在线国产 | chinese真实伦对白露脸 | 色av网| 奇米影视在线视频 | 欧美黄色三级视频 | 亚洲精品免费观看 | 中文字幕在线观看91 | av资源站| 欧美少妇视频 | 成人免费片 | 亚洲精品一级 | 91久久精品一区二区 | 欧美不卡在线观看 | 中文幕无线码中文字蜜桃 | 欧美一级一区二区三区 | 色婷婷精品 | 天天激情| 伊人久久久 | 法国意大利性经典xxxxx | 在线观看a视频 | 奇米影视第四色7777 | 永久免费看片在线 | 99热这里是精品 | 超碰一级片| 鬼灭之刃柱训练篇在线观看 | 欧美变态口味重另类 | 久久人人艹 | 性爱视频在线免费 | 色综合天天综合 | 91av福利 | 秋霞毛片 | 国产精品美女久久久久高潮 | 日韩啪啪片 | 中文字幕3页 | 欧美 日韩 中文字幕 | 久久久一区二区三区 | 亚洲牛奶avxxxx哺乳期 | 伊人青青草原 | 草草色| 国产精品久久久久久久久免费相片 | 91尤物视频| 国产精品久久久久久69 | 国产精品国产精品国产专区不片 | 日韩欧美精品在线 | 男人的天堂毛片 | 97久久人国产精品婷婷 | 91丝袜一区在线观看 | 久久久久久久久久久久久大色天下 | 天天干视频 | 天天做夜夜做 | 成年人黄色小视频 | 成人福利社| 国产成人亚洲综合a∨婷婷 精品久久久久久国产 | 一区二区国产欧美 | 亚洲精品一区中文字幕乱码 | 国产成人精品综合 | 国产色片| 这里有精品视频 | 久久久久国产精品夜夜夜夜夜 | 污污视频免费观看 | 台湾色综合 | 亚洲欧美视频一区 | 丁香激情网| 性xxxx摔跤视频 | 欧美日韩在线视频免费播放 | 国产+日韩+欧美 | 91女人18毛片水多国产 | 狠狠干2024| 欧美日韩精品在线视频 | 久久久久久久久久久影视 | 人人看人人看 | 日韩视频免费在线 | 天天干天天做天天操 | 91精品国产一区二区 | 亚洲图片欧美在线 | 岛国成人在线 | 极品美女av| 亚洲激情社区 | 亚洲成av人片在线观看 | 久草成人| 日日干夜夜艹 | 久久久www成人免费毛片 | 久久综合88 | 97超碰精品 | 色婷婷av777| 精品久久久久久久久久久久久久久久久久 | 亚洲视频在线观看网址 | 综合人人 | 国产日比视频 | 欧美日韩一本 | 大奶一区二区 | 婷婷综合影院 | 久久久久久99精品久久久 | 9色av| av在线专区| 视频一区国产 | 亚洲 欧美 日韩 综合 | 免费三级网 | 伊人久久久久久久久久久 | 操女人的逼逼 | 午夜精品一二三区 | 青娱乐超碰在线 | 天天操天天插天天射 | 午夜在线免费视频 | 久久三级黄色片 |