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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

手把手教你使用nodejs编写一个【使用远程仓库模板,快速创建项目模块】的cli(命令行)

發(fā)布時間:2024/1/18 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 手把手教你使用nodejs编写一个【使用远程仓库模板,快速创建项目模块】的cli(命令行) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

    • 實現步驟
    • 初始化cli項目
      • 項目目錄
    • 創(chuàng)建交互式命令
    • 拉取遠程倉庫代碼,讀取倉庫中的模板
      • 拉取遠程倉庫代碼
      • ora 終端 loading
      • 讀取倉庫中的模板
    • 將選擇的模板復制寫入目標項目
    • Commands
    • 完成

系列文章

  • 手把手教你使用nodejs編寫cli(命令行)
  • 手把手教你使用nodejs編寫cli(命令行)——拉取遠程倉庫作為代碼模板
  • 手把手教你使用nodejs編寫一個【使用遠程倉庫模板,快速創(chuàng)建項目模塊】的cli(命令行)

在工作過程中,很多時候我們會遇到一些很相似的需求,這時候我們會進行【搬磚】。這時候我們經常會復制一份相似的代碼,改一改就成了。

但是這樣有兩個問題:

  • 首先,從其他業(yè)務模塊復制過來的代碼中需要刪刪減減,有些繁瑣,效率較低;

  • 其次,即便復制的是一個基礎模板代碼,也會面臨手動 copy 的低效問題;

  • 還有,一般如果同事之間用一個代碼模板庫,需要將之 git clone 至本地磁盤,一般手動 copy 很少會 git pull 代碼,這樣就會造成代碼模塊版本滯后。

  • 我們要實現的就是實現一個能【讀取遠程倉庫模板,快速創(chuàng)建項目模塊的腳手架工具】,以下為流程圖與操作動態(tài)圖:

    實現步驟

    1. 交互式命令,獲取用戶選擇;

    2. 拉取遠程倉庫代碼,讀取倉庫中的模板;

    3. 根據用戶選擇,將選擇的模板復制寫入目標項目。


    初始化cli項目

    創(chuàng)建一個新項目 create-modules-tools,并且使用 Node.js 的 esm 模塊,并把 Node.js 升至 13.2.0 以上版本以支持 esm 模塊。

    esm 模塊不支持文件擴展名的自動解析以及導入具有索引文件的目錄的能力,后面需要注意不要丟掉 index.js、.js

    package.json

    {..."type": "module","bin": {"create-module": "bin/index.js"}... }

    項目目錄

    create-modules-tools ├── bin │ └── index.js # CLI執(zhí)行入口文件 ├── commands # 其他命令,如 --help ├── questions # 交互式命令行 ├── utils # 工具函數,主要是獲取腳手架項目的物理路徑函數 ├── .gitignore ├── package.json ├── package-lock.json ├── README.md # 使用文檔 └── CHANGELOG.md # 版本記錄文件

    創(chuàng)建交互式命令

    這里我們使用 inquirer 文檔,安裝 inquirer

    npm i inquirer

    1. 設置遠程倉庫地址 questions/remoteUrl.js

    import fs from "fs";export default (templatesDirRootPath) => {let remoteUrl = ''if (fs.existsSync(`${templatesDirRootPath}/defaultRemoteUrl.txt`)) {remoteUrl = fs.readFileSync(`${templatesDirRootPath}/defaultRemoteUrl.txt`, "utf-8")}return {type: 'input',name: 'remoteUrl',default: remoteUrl || undefined,message: '請設置遠程倉庫地址',validate(val) {// git倉庫的正則表達式 http://cn.voidcc.com/question/p-qlprjeax-kd.htmlconst gitRemoteUrlReg = /(\w+:\/\/)([email protected])*([\w\d\.]+)(:[\d]+){0,1}\/*(.*)/if (!val) {return '請設置遠程倉庫地址'} else if (!gitRemoteUrlReg.test(val)) {return '遠程倉庫地址格式錯誤,請重新輸入'} else {return true;}}} }

    2. 要創(chuàng)建的目錄名稱 questions/createDir.js

    export default () => ({type: 'input',name: 'createDir',message: '請輸入要創(chuàng)建的目錄名稱',validate(val) {if (val) return true;return '請輸入要創(chuàng)建的目錄名稱'} })

    3. 選擇模板 questions/selectModules.js

    import inquirer from "inquirer";export default async (choices = []) => inquirer.prompt([{type: 'list',name: 'tplModule',message: '請選擇模板',choices} ])

    4. 交互問答入口文件 questions/index.js

    import inquirer from 'inquirer'import remoteUrl from "./remoteUrl.js"; import createDir from "./createDir.js";export default (templatesDirRootPath) => inquirer.prompt([remoteUrl(templatesDirRootPath), // 設置遠程倉庫地址createDir(), // 要創(chuàng)建的目錄名稱 ])

    5. 腳手架入口文件 bin/index.js

    #!/usr/bin/env node// chalk 美化輸出 import chalk from 'chalk'import questions from '../questions/index.js' import { getTemplatesDirRootPath } from '../utils/index.js' import selectModules from '../questions/selectModules.js'// 存放模板文件的目錄路徑 const templatesDirRootPath = getTemplatesDirRootPath()const config = await questions(templatesDirRootPath)console.log(chalk.blue('config:'), config);// 先創(chuàng)建目標目錄,檢查用戶輸入的目錄是否已存在 fs.mkdirSync(`./${config.createDir}`) if (!fs.existsSync(templatesDirRootPath)) {fs.mkdirSync(templatesDirRootPath) }

    執(zhí)行 npm link 將該模塊鏈接到全局npm模塊中

    執(zhí)行 create-module,可以得到用戶輸入的結果


    拉取遠程倉庫代碼,讀取倉庫中的模板

    上面我們已經得到了遠程倉庫的地址,但是 Node.js 是沒有能力讀取遠程 git 倉庫中的目錄的,將其clone 至本地,然后在本地讀取。

    這里我們應該考慮用戶一般不會經常切換模板倉庫,因此我們設計為:

    在用戶初次 git clone 后不將該本地模板倉庫刪除,而是保留。在用戶下次使用腳手架時,我們去檢查該模板是否存在于本地,如果存在,則執(zhí)行 git pull,這樣會更快的拉新讀取。如果不存在則執(zhí)行 git clone

    同時支持用戶主動清空腳手架中的本地模板,create-module --empty


    拉取遠程倉庫代碼

    utils/index.js

    import path from 'path' import { fileURLToPath } from 'url' import process from "process";// 獲取絕對路徑 export const getRootPath = (pathUrl) => {const __dirname = fileURLToPath(import.meta.url)return path.resolve(__dirname, `../${pathUrl}`) }// 設置模板緩存目錄 export const getTemplatesDirRootPath = () => {// 存放模板文件的文件夾名稱const templatesDirPath = 'CreateModulesProjects'const processCwd = process.cwd()const processCwdArr = processCwd.split('/')// 存放模板文件的目錄路徑return `/${processCwdArr[1]}/${processCwdArr[2]}/${templatesDirPath}` }

    bin/index.js

    // ...// 獲取遠程倉庫目錄名稱 const getGitRemoteFilename = () => {const arr = config.remoteUrl.split('/')return arr[arr.length - 1].split('.')[0] }// 遠程倉庫目錄名稱 const gitRemoteFilename = getGitRemoteFilename() console.log(chalk.blue('gitRemoteFilename:'), gitRemoteFilename);let getGitRemoteResult = {} // 拉取遠程倉庫結果// 獲取遠程倉庫代碼 const getGitRemote = () => {// 該遠程倉庫是否已經存在于本地const exist = fs.existsSync(`${templatesDirRootPath}/${gitRemoteFilename}/.git`)const spinners = [ora("讀取中...")];spinners[0].start();if (exist) { // 存在,則 git pullgetGitRemoteResult = execaSync(`git`, ['config', 'pull.rebase', 'false'], {cwd: `${templatesDirRootPath}/${gitRemoteFilename}`,})getGitRemoteResult = execaSync(`git`, ['pull'], {cwd: `${templatesDirRootPath}/${gitRemoteFilename}`,})}else { // 不存在,則 git clonetry {getGitRemoteResult = execaSync(`git`, ['clone', '-b', 'master', config.remoteUrl], {cwd: templatesDirRootPath,})} catch (err) {fs.rmdirSync(`./${config.createDir}`)console.error(err)}}fs.writeFile(`${templatesDirRootPath}/defaultRemoteUrl.txt`, config.remoteUrl, err => {if (err) console.log(err);})// console.log(chalk.blue('getGitRemoteResult:'), getGitRemoteResult);// failed 一定返回,沒有failed字段也代表失敗if (getGitRemoteResult.failed === true || getGitRemoteResult.failed === undefined || getGitRemoteResult.failed === null) {spinners[0].fail("讀取遠程倉庫失敗!");} else {spinners[0].succeed("讀取遠程倉庫成功!");} }getGitRemote()

    ora 終端 loading

    上面拉取遠程倉庫代碼子進程使用了 ora 來實現 loading 效果,如下圖:

    npm i ora import ora from 'ora'const spinners = [ora("Loading1..."), ora("Loading2...")]; // 開始第一個 loading spinners[0].start();setTimeout(() => {spinners[0].succeed("Loading1 Success");spinners[1].start(); }, 3000);setTimeout(() => {spinners[1].fail("Loading2 Fail"); }, 6000);

    讀取倉庫中的模板

    // ...import selectModules from '../questions/selectModules.js'// 讀取并選擇模板 const getAndSelectModule = async () => {// 獲取遠程倉庫中的目錄const tplDirs = fs.readdirSync(`${templatesDirRootPath}/${gitRemoteFilename}`)console.log('tplDirs', tplDirs);// 可選的模板const tplModules = []for (const item of tplDirs) {// 篩選目錄并將 .git 排除if (fs.statSync(`${templatesDirRootPath}/${gitRemoteFilename}/${item}`).isDirectory() && item !== '.git'){tplModules.push({value: item,name: item,})}}// 選擇模板const selectedModule = await selectModules(tplModules)// 已選擇的模板 selectedModule.tplModuleconsole.log(selectedModule);return selectedModule }const selectedModule = await getAndSelectModule() console.log('selectedModule', selectedModule);


    將選擇的模板復制寫入目標項目

    這里使用 fs-extra 復制文件

    import fse from 'fs-extra'/*** 進行copy* @param selectedModule 選擇的模塊*/ const fsCopy = (selectedModule) => {try {fse.copy(`${templatesDirRootPath}/${gitRemoteFilename}/${selectedModule.tplModule}`,`./${config.createDir}`,(err) => {if (err) {console.error(err);} else {// git add 新創(chuàng)建的文件execa(`git`, ['add', './'], { cwd: './', }, err => {if (err) console.log(err);})console.log(chalk.green('創(chuàng)建模塊成功!'))}})} catch (err) {fs.rmdir(`./${config.createDir}`)console.error(err)} }fsCopy(selectedModule)

    至此,主體功能已完成。


    Commands

    另外,如果需要添加其他命令,如上文說的 create-modlue --help、create-module --empty 可以在使用 process.argv 獲取命令行參數進行相關邏輯,這里不再贅述了。

    import fs from 'fs' import { program } from 'commander'; import empty from "./empty.js"; const { version } = JSON.parse(await fs.readFileSync(new URL('../package.json', import.meta.url)))program.version(version, '-v, --version').option('-e, --empty', '清空本地模板緩存')program.parse(process.argv);const options = program.opts();switch (true) {case options.empty:empty()break; }

    commands/empty.js

    import fs from "fs"; import { getTemplatesDirRootPath } from '../utils/index.js'export default () => {const templatesDirRootPath = getTemplatesDirRootPath()if (fs.existsSync(templatesDirRootPath)) {// recursive <boolean> 如果為 true,則執(zhí)行遞歸刪除。 在遞歸模式下,操作將在失敗時重試。 默認值: false。fs.rmSync(templatesDirRootPath, { recursive: true })// 重新創(chuàng)建一個空目錄fs.mkdirSync(templatesDirRootPath)console.log('清空本地模板緩存成功!');process.exit(1)} else {console.log('清空本地模板緩存成功!');} }

    完成

    將其發(fā)布至 npm,執(zhí)行 npm i create-modlues-tools -g 安裝,執(zhí)行 create-module 即可使用啦

    源碼:https://gitee.com/yanhuakang/create-modules-tools

    總結

    以上是生活随笔為你收集整理的手把手教你使用nodejs编写一个【使用远程仓库模板,快速创建项目模块】的cli(命令行)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    91精品国产一区 | 国产亚洲一区二区三区 | 手机成人在线电影 | 久久激情日本aⅴ | 丁香 久久 综合 | 国产精品第7页 | 日本不卡视频 | 日韩精品高清视频 | 国产精品av在线 | 久久久久久精 | 午夜 在线 | 黄色精品久久久 | 欧美一级黄大片 | 日韩在线播放欧美字幕 | 国内精品毛片 | 久草精品电影 | 91粉色视频| 久久免费的精品国产v∧ | 九九视频免费观看视频精品 | 久久久 精品 | 成人黄在线观看 | 一区二区伦理 | 黄色一级网 | 国色天香永久免费 | 国产女做a爱免费视频 | 国产精品原创av片国产免费 | 久久久久久视频 | 一区二区三区精品久久久 | 成人免费91 | 婷婷在线色 | 精品视频一区在线 | 91亚洲精品久久久蜜桃 | 国产免费区 | 色在线中文字幕 | 91福利区一区二区三区 | 全黄色一级片 | 久久九九久久九九 | 在线www色 | 成人免费在线视频 | www.狠狠插.com | 中文字幕黄色网 | 久久国产精品一二三区 | 91日韩免费 | 91亚洲精品乱码久久久久久蜜桃 | 在线观看日本韩国电影 | av福利电影 | 色天天综合网 | 91porny九色91啦中文 | 超碰在线天天 | 欧美亚洲精品在线观看 | 亚洲免费公开视频 | 久精品视频在线观看 | 日日精品| 国产区av在线 | 国产精品一区二区三区99 | 久久久久免费精品国产小说色大师 | 一级欧美黄 | 黄色软件网站在线观看 | 美女免费视频一区二区 | 中文字幕在线色 | 久久都是精品 | 日韩免费一区二区三区 | 天天色天天操综合 | 国产色拍拍拍拍在线精品 | 久久69av | www.夜色.com| 日韩高清国产精品 | 精品国产午夜 | 激情婷婷在线观看 | 人人玩人人添人人澡97 | 在线视频一二三 | 黄色片软件网站 | 超黄视频网站 | 4438全国亚洲精品在线观看视频 | 亚洲综合涩 | 亚洲免费av电影 | 97视频人人| 成年人视频在线免费 | 国产精品免费av | 欧美视频日韩视频 | 波多野结衣一区二区 | 麻豆影视在线播放 | 超碰日韩| 毛片网在线观看 | 69国产在线观看 | 中文字幕 在线看 | 偷拍精偷拍精品欧洲亚洲网站 | 久久www免费视频 | 操夜夜操| 青青河边草免费 | 国产高清av免费在线观看 | 日韩免费观看一区二区 | 色激情在线| 九精品 | 96久久欧美麻豆网站 | 亚洲成人资源网 | 免费看搞黄视频网站 | 色婷婷天天干 | 在线观看韩日电影免费 | 在线免费黄色av | 国产精品成人aaaaa网站 | 岛国大片免费视频 | 91在线网址 | 激情久久影院 | 国产乱对白刺激视频在线观看女王 | 亚洲精品中文在线 | 免费亚洲黄色 | 国产成人一区二区三区电影 | 日本aa在线| 国产精品video爽爽爽爽 | 欧美日韩中 | 国产精品一区二区久久精品爱涩 | 成人在线电影观看 | 欧美一区二区免费在线观看 | 五月激情久久 | 日韩视频免费观看高清完整版在线 | 久久精品xxx | 亚洲爽爽网 | 97人人添人澡人人爽超碰动图 | 激情电影影院 | 国产精品久久久毛片 | 久久视频国产精品免费视频在线 | 最近日本韩国中文字幕 | 亚洲午夜久久久久久久久电影网 | 久久天天躁夜夜躁狠狠躁2022 | 日本在线观看黄色 | 9999精品 | 成人午夜免费剧场 | 五月天婷婷在线播放 | 午夜精品一区二区三区在线视频 | 亚洲成人xxx | 97精品久久人人爽人人爽 | 福利视频网站 | 国产精品一区二区久久国产 | 一区二区三区久久 | av丝袜在线| 国产在线国偷精品产拍 | 国产精品久久久久久吹潮天美传媒 | 五月婷婷激情六月 | 深夜福利视频在线观看 | 久久99精品国产99久久 | 夜夜操综合网 | 精品女同一区二区三区在线观看 | 激情开心站 | 四虎国产精品永久在线国在线 | 国产一区免费看 | 久久免费的精品国产v∧ | 日日久视频 | 欧美在线一二 | 色91av| 国产精品久久久久久久久久久久午夜 | 国产va精品免费观看 | 香蕉91视频 | 少妇bbw撒尿 | 成人在线免费观看视视频 | 国产视频一区二区三区在线 | 在线 影视 一区 | 狠狠婷婷| 国产成人黄色在线 | 香蕉在线播放 | www.夜夜干.com| 久久综合九色综合欧美狠狠 | 在线91精品 | av大全在线播放 | 国产不卡免费av | 国产高清视频在线播放 | 国产成人精品亚洲a | 中文字幕精品久久 | 国语久久 | 欧美激情综合五月色丁香小说 | 欧美另类人妖 | 国产在线理论片 | 免费高清在线观看电视网站 | 丁香婷婷综合五月 | 国产一级免费观看 | 成人精品久久久 | 精品一区欧美 | 性色av免费看 | 美女网站色免费 | 天天看天天操 | 婷婷丁香激情五月 | 亚洲精品麻豆 | 欧美日韩p片 | 久久精品4 | 亚洲精品456在线播放 | 国产99亚洲| 久久av免费 | 国产乱老熟视频网88av | 欧美日韩电影在线播放 | 精品国产电影一区二区 | 国产黄色片免费看 | 免费97视频 | 99热国产精品| 麻豆免费在线视频 | 国产精品久久影院 | 在线免费观看麻豆 | 天天干天天操天天 | 精品免费观看 | 亚洲黄色片在线 | 国产精品18久久久久vr手机版特色 | 亚洲国产wwwccc36天堂 | 日韩一区视频在线 | 在线播放日韩av | 国产一区二区精 | 国产精品6999成人免费视频 | 在线免费91 | 精品日韩中文字幕 | 天天爽网站 | 国产精品久久久久一区二区三区共 | 99精品国自产在线 | av免费在线免费观看 | 亚洲精品免费播放 | 乱子伦av| 在线观看日韩精品视频 | av黄免费看 | 免费黄色av电影 | 亚洲在线 | 久久久久99精品国产片 | 日韩av不卡在线 | 亚洲黄色小说网 | av免费在线网站 | 国产又粗又猛又色又黄网站 | 国产精品成人一区二区 | 999久久久久久久久久久 | 亚洲最新视频在线播放 | 日韩美精品视频 | 亚洲国产精品va在线看 | 综合国产在线观看 | 国产一区二区高清 | 亚洲精品一区中文字幕乱码 | www视频免费在线观看 | 午夜精品99久久免费 | 丁香六月在线 | 久久久久精 | 一区二区精品在线 | 最新一区二区三区 | 成人毛片100免费观看 | 美女免费视频观看网站 | 中文字幕久久精品亚洲乱码 | 综合国产在线 | 精品国产一区二区三区四区在线观看 | 国产福利精品视频 | 亚洲九九爱 | 激情网站网址 | 久久五月网 | 成人免费在线视频 | 91麻豆产精品久久久久久 | 国产一区二区手机在线观看 | 在线看片成人 | 男女啪啪免费网站 | 国产精品久久久久久久久久直播 | 国产日产高清dvd碟片 | 久草在线国产 | 久久久久一区 | 国产精品人成电影在线观看 | 视频精品一区二区三区 | 亚洲久草网| 色在线网 | 俺要去色综合狠狠 | 久久99亚洲精品久久 | 午夜美女视频 | 国产激情电影综合在线看 | www.久久成人 | 91在线免费公开视频 | 久久99网站 | 激情婷婷 | 狠狠色狠狠色综合日日小说 | 精品国产片 | 在线国产能看的 | 日韩一区二区三区视频在线 | 九九九热精品 | 国产午夜剧场 | 免费高清国产 | 一区二区免费不卡在线 | 成人免费视频观看 | 8090yy亚洲精品久久 | 91九色视频在线 | 中文字幕日韩一区二区三区不卡 | 欧美人牲| 成人网444ppp| 国产日产在线观看 | 国产精品成人一区二区三区吃奶 | 中文字幕123区 | 91九色视频观看 | 国产成人精品不卡 | 久久免费黄色大片 | 婷婷精品国产一区二区三区日韩 | 国产精品一区二区av影院萌芽 | 国产免费观看久久黄 | 国产成人精品亚洲a | 国产高清在线一区 | 99久久婷婷国产综合亚洲 | 国产在线视频一区 | 久久综合狠狠综合久久综合88 | 午夜久久影视 | 精品久久久久免费极品大片 | 中文字幕在线一区二区三区 | 麻豆视频免费观看 | 丝袜美腿在线播放 | 999电影免费在线观看 | 伊人五月天.com | 日韩精品无 | 97福利 | 亚洲国产欧美在线人成大黄瓜 | 中文字幕在线有码 | 91传媒免费观看 | 久久精品麻豆 | 欧美日韩国产一二 | 91精品1区 | 91人人视频在线观看 | 久久久久免费看 | 国产日韩欧美视频在线观看 | 波多野结衣视频一区 | 久久精久久精 | 在线观看国产亚洲 | 亚洲国产精品va在线看 | 国产精品视频全国免费观看 | 国产精品高清在线观看 | 久久伊人八月婷婷综合激情 | av在线免费观看不卡 | 97在线免费观看视频 | 国产一区在线观看免费 | 亚洲综合成人婷婷小说 | 免费av影视| 亚洲国产中文字幕在线视频综合 | 欧美日韩亚洲在线观看 | 91精品在线播放 | 日韩成人免费观看 | wwwwwww黄| av大全免费在线观看 | 麻豆91精品视频 | 久久国产精品99久久久久久丝袜 | 色综合久久88色综合天天 | 色视频成人在线观看免 | 午夜影院一区 | 日本精品久久久久影院 | 啪啪免费试看 | 三级av在线| 国产精品美女久久久 | 亚洲国产精品视频 | 97av免费视频 | 日韩在线观看av | 国产精在线 | 久久久久久久久久网 | 色窝资源 | www国产亚洲精品久久麻豆 | www.在线观看av | 在线天堂中文www视软件 | 欧美性免费 | 欧美aaa视频 | 日韩电影中文字幕在线观看 | 亚洲精品乱码久久久久久蜜桃91 | 超碰午夜 | 欧美日韩高清在线一区 | 成年人视频免费在线播放 | 精品国产aⅴ麻豆 | av一区二区三区在线 | 超碰97人人射妻 | 人人干人人做 | 国产精品美女999 | 国产精品免费看久久久8精臀av | 九九激情视频 | 天天要夜夜操 | 亚洲精品在线一区二区 | 免费看片网页 | 黄色网址在线播放 | 国产成人精品久久二区二区 | 亚洲永久精品一区 | 在线免费观看羞羞视频 | 精品一区二区久久久久久久网站 | 骄小bbw搡bbbb揉bbbb | 国产 一区二区三区 在线 | 国产精品久久一区二区无卡 | 最近久乱中文字幕 | 国产黄色电影 | 久久久久久久福利 | 91视频久久久 | 免费中文字幕 | 亚洲少妇激情 | 91精品国自产在线观看欧美 | 伊人婷婷色| 久久99热这里只有精品国产 | 久久久天堂 | 精品国产一区二区三区四区在线观看 | 久久精品精品电影网 | 久久99精品久久只有精品 | 亚洲视频一区二区三区在线观看 | 一级片视频免费观看 | 日韩中文字幕免费在线观看 | 91av原创 | 99免费在线视频观看 | 欧美日韩在线精品一区二区 | 18做爰免费视频网站 | 欧美成人播放 | 天天综合成人 | 在线电影91 | 在线免费观看涩涩 | 欧美日韩另类在线观看 | 黄色一级影院 | 99久高清在线观看视频99精品热在线观看视频 | 亚洲精品视频在线 | 日韩手机在线观看 | 国产精品自产拍在线观看蜜 | 国产精品高清av | 在线91视频 | 69精品视频 | 亚洲人在线7777777精品 | 国产精品视频免费观看 | 成年人免费在线播放 | 久久久久久久久影视 | 国产成人久久精品亚洲 | 久久久久久久久久影院 | 亚洲精品88欧美一区二区 | 免费在线播放av电影 | 超级碰碰免费视频 | 久久久综合九色合综国产精品 | 久久国语| 中文字幕在线网址 | 亚洲视频在线免费看 | 精品影院 | 国产精品久久久久久超碰 | 天天综合天天做 | 玖玖玖国产精品 | 狠狠干激情 | 丁香在线观看完整电影视频 | 在线观看视频亚洲 | 日本护士三级少妇三级999 | 日韩一区二区三区在线观看 | 日韩理论电影在线观看 | 黄色最新网址 | 久在线观看 | 欧美午夜一区二区福利视频 | 日韩av成人免费看 | 日韩欧美在线高清 | 日韩在线国产 | 国产精品av久久久久久无 | 福利视频 | 亚洲精品456在线播放乱码 | 日韩精品无| 97在线免费 | 国产一线二线三线在线观看 | 国产精品永久免费观看 | 国产精品第7页 | aaa日本高清在线播放免费观看 | 欧美日本不卡视频 | 日韩成人精品一区二区三区 | 国产精品mv在线观看 | 91av99| 国产真实在线 | 五月婷网| 色视频网站在线观看一=区 a视频免费在线观看 | av在线播放亚洲 | 在线观看久 | 婷婷国产视频 | 69xx视频| 久久精品91久久久久久再现 | 国产成人在线精品 | 亚洲国产成人高清精品 | 精品免费一区二区三区 | 久草视频在线观 | 日韩大片在线免费观看 | 一二三区高清 | 97精品国自产拍在线观看 | 色综合久久久久综合99 | 国产三级午夜理伦三级 | 久久精品一 | 四虎www| 亚洲欧美综合精品久久成人 | 国产不卡在线视频 | 国产成人在线精品 | 蜜桃麻豆www久久囤产精品 | 国产一区欧美二区 | 国产日韩精品一区二区 | 91日韩在线视频 | 日韩小视频网站 | 国产成人一区二区三区电影 | 国产成人一区二区三区在线观看 | 精品亚洲免费视频 | 91人人射| 草久久久久 | 国产精品九九九 | 国产精品久久久久久久久久 | 精品久久1| 国产精品成人a免费观看 | 日韩影片在线观看 | 中文字幕在线播放第一页 | 91视视频在线直接观看在线看网页在线看 | 欧美日韩中文视频 | 在线欧美中文字幕 | a色视频 | 亚洲精品99久久久久中文字幕 | 91精品网站在线观看 | 国产精品高清免费在线观看 | 欧美精品乱码久久久久久按摩 | 在线观看色网 | 久久视频一区 | 天天综合成人 | 视频一区二区三区视频 | 九九在线高清精品视频 | 午夜精品久久久 | 欧美地下肉体性派对 | 日韩一级网站 | 久久久www免费电影网 | 日日干天天插 | 欧洲av不卡 | 521色香蕉网站在线观看 | 99国产精品一区二区 | 91精品国产成人观看 | 久久综合中文色婷婷 | 国产99久久九九精品免费 | 九九九热精品免费视频观看网站 | 久精品一区 | 日韩精品一区二区三区在线播放 | 五月激情片 | 91在线精品一区二区 | 丁香花在线观看免费完整版视频 | 成人a级网站 | 国产在线视频一区二区 | 99视频精品免费观看, | 911av视频| 国产视频导航 | 久久久国产电影 | 手机在线观看国产精品 | 97色se| 激情五月开心 | 日韩久久午夜一级啪啪 | 国产精品久久久久影院日本 | 99久久久国产精品免费99 | 亚洲乱码在线观看 | 麻豆网站免费观看 | 天天干,天天操,天天射 | 亚洲精品h| 99电影456麻豆 | 在线观看av的网站 | 久久理论片 | 精品免费| 国产成人免费av电影 | 在线播放日韩av | 视频在线观看一区 | 午夜少妇一区二区三区 | 国产成人精品一区二区三区福利 | 丁香婷婷射 | 2024国产精品视频 | 天天操欧美 | 中文字幕精品在线 | 欧美乱熟臀69xxxxxx | 99欧美精品 | 国产亚洲情侣一区二区无 | 久久av网址 | 视频一区二区免费 | 在线久热| 999久久久久久 | 国产精品一区二区精品视频免费看 | 91视频电影| 片网站| 天天射天天干天天 | 91麻豆高清视频 | 九色在线 | 在线免费三级 | 日韩精品免费一线在线观看 | 欧美成a人片在线观看久 | 欧美日韩综合在线 | 久久九九精品久久 | 色偷偷中文字幕 | 国产免费中文字幕 | 久久免费一 | 成人毛片100免费观看 | 在线观看日本高清mv视频 | 黄色影院在线观看 | 亚洲涩涩涩涩涩涩 | 日韩视频一区二区三区在线播放免费观看 | 国产日韩欧美在线看 | 国产九色在线播放九色 | 欧美天天综合 | 婷婷在线网站 | 另类五月激情 | 日本精品午夜 | 欧美日韩一区二区三区在线观看视频 | av成人在线观看 | 嫩模bbw搡bbbb搡bbbb | 免费三级网 | 欧美日韩久久 | 在线播放 日韩专区 | 国内精品久久久久久久影视麻豆 | 午夜黄色一级片 | 激情综合一区 | 久久久毛片 | 丁香六月天 | 久草国产视频 | 日韩精品一卡 | 亚洲天天做 | 国产精品一区二区久久精品 | 在线看91| 中文字幕精品久久 | 欧美成人理伦片 | 外国av网 | 黄色小说网站在线 | 日韩精品高清不卡 | 超碰免费在线公开 | 日韩在线观看一区二区 | 国产精品原创av片国产免费 | 欧美aⅴ在线观看 | 国产一级淫片在线观看 | 9i看片成人免费看片 | 91看毛片| 国产高清视频免费最新在线 | 欧美日高清视频 | 国产专区免费 | 午夜视频在线观看网站 | 999视频网站| 一级a毛片高清视频 | 日韩高清观看 | 亚洲h色精品 | 成人免费视频免费观看 | 在线观看视频在线观看 | 天天综合操 | 天天干天天操天天拍 | 亚洲精品国产精品乱码不99热 | 国产精品成人久久久久 | 四虎成人精品永久免费av九九 | 欧美黑吊大战白妞欧美 | 久草视频在线资源 | 国产女人40精品一区毛片视频 | 亚洲精品乱码久久久久久久久久 | 亚洲成人av影片 | 91在线区| 国产一区二区在线免费 | 91av网址| 国产精品白浆 | 国产精品97 | 美女视频免费精品 | 美女视频黄在线 | 国产综合激情 | 在线电影播放 | 亚洲精品国产第一综合99久久 | 69视频国产 | 婷婷亚洲五月 | 国产青草视频在线观看 | 国产精品扒开做爽爽的视频 | 色视频网站免费观看 | 国产精品1区2区 | 91精品国自产在线偷拍蜜桃 | 天天干天天碰 | 久久99精品久久久久久秒播蜜臀 | 国产精品视频在线看 | 深夜免费福利网站 | 久久无码av一区二区三区电影网 | 欧美国产日韩中文 | 91色视频| 91av视频在线免费观看 | 天堂网在线视频 | 人人狠狠综合久久亚洲婷 | 欧美做受69| 国产探花视频在线播放 | 综合激情伊人 | 日韩欧美视频在线播放 | 97视频在线观看网址 | 免费精品在线视频 | 国产精品国产亚洲精品看不卡 | 中文字幕日本在线观看 | 亚洲精品视频免费在线 | 黄色大全免费网站 | 韩日精品中文字幕 | 99久久精品国产一区二区成人 | 五月婷婷亚洲 | 91亚洲精品久久久蜜桃借种 | 亚洲国产美女久久久久 | 337p西西人体大胆瓣开下部 | 国产精品18久久久久久不卡孕妇 | 国产精品初高中精品久久 | 在线日韩亚洲 | 999视频网站 | 午夜精品一区二区三区免费 | 三级黄色在线观看 | 日韩精品一区二区三区高清免费 | 在线小视频国产 | 手机成人免费视频 | 在线播放91 | 99亚洲国产 | 手机在线视频福利 | 国产黄色片免费在线观看 | 亚洲日本精品 | 国产污视频在线观看 | 久久精品久久99 | av在线免费在线 | 免费h在线观看 | 亚洲欧洲精品一区二区精品久久久 | 天天人人综合 | 免费一级特黄录像 | 91久久久久久久一区二区 | 玖玖在线资源 | 国产精品热视频 | 在线播放 日韩专区 | 亚洲乱码在线观看 | 不卡中文字幕av | 欧洲不卡av | 日韩中文字幕网站 | 黄污网站在线观看 | 精品一区二区免费在线观看 | 美女视频黄网站 | a级国产乱理论片在线观看 伊人宗合网 | 色香网| 香蕉影视 | avwww在线观看 | 在线精品视频免费观看 | 高清av免费看 | 日日夜夜精品网站 | 国产精品2018 | 奇米影视777影音先锋 | 免费大片av | 久久国产精品一国产精品 | 欧美日韩国产二区 | 免费情缘 | 超碰在线国产 | www.狠狠 | 激情久久久久久久久久久久久久久久 | 爱av在线网| 美女网站视频一区 | 69国产盗摄一区二区三区五区 | 丁香花在线视频观看免费 | 国产精品综合av一区二区国产馆 | 中文不卡视频 | 国产福利久久 | 日韩r级在线 | 欧美视频二区 | 国产不卡网站 | 国产一区欧美二区 | 超碰公开在线观看 | 最新中文字幕 | 国产字幕在线观看 | 久久免费视频4 | 亚洲国产精品激情在线观看 | 日韩乱色精品一区二区 | 我要色综合天天 | 日韩av手机在线观看 | 在线观看视频 | 人人爽人人舔 | 日日摸日日 | 激情综合网在线观看 | 久久91网| 中文成人字幕 | 国产高清成人在线 | 久久精品xxx| 中文字幕 第二区 | 青青草久草在线 | 青青河边草免费观看完整版高清 | 久久免费片 | 久久夜色精品国产欧美一区麻豆 | 久久激情视频免费观看 | 久久久久亚洲精品中文字幕 | 黄污网| 一区二区欧美激情 | 最近能播放的中文字幕 | 久久精品视频日本 | av网站在线免费观看 | 超碰免费久久 | 久久999精品| 91资源在线视频 | 亚洲精品www | 亚洲尺码电影av久久 | 又长又大又黑又粗欧美 | 久草视频在线观 | 中文亚洲欧美日韩 | 日韩电影一区二区三区在线观看 | 午夜丁香网 | 免费日韩视 | 国产aa精品| 亚洲专区在线 | 丁香六月网 | 久久久91精品国产一区二区三区 | 91麻豆免费版 | 麻豆你懂的 | 97超在线| 91日韩在线播放 | 日韩av电影网站在线观看 | 久久美女精品 | 欧美一区二区伦理片 | 亚洲精选在线 | 久久久久久高潮国产精品视 | 狠狠做六月爱婷婷综合aⅴ 日本高清免费中文字幕 | 亚洲一级片av | 伊人中文网 | 亚洲视频播放 | 又湿又紧又大又爽a视频国产 | 97超碰在| 日本动漫做毛片一区二区 | 久久亚洲婷婷 | 91试看 | 九九九九九九精品任你躁 | 久久综合亚洲鲁鲁五月久久 | 国产午夜精品一区二区三区欧美 | 激情av在线播放 | 999国产在线 | 日日碰狠狠躁久久躁综合网 | 色夜视频 | 日韩欧美一区二区三区在线观看 | 91精品秘密在线观看 | 午夜视频免费播放 | 亚洲视频一| 在线看毛片网站 | av高清影院 | 亚洲成人精品久久久 | 一级a性色生活片久久毛片波多野 | 国产视频在线免费 | 在线免费观看视频你懂的 | 日本乱码在线 | 国产高清一区二区 | 激情一区二区三区欧美 | 美女福利视频在线 | 亚洲久在线 | 亚洲精品美女在线观看 | 国产视频观看 | 在线观看日韩一区 | 丁香5月婷婷 | 亚洲精品久久久久久中文传媒 | 国产精品一区二区久久精品爱涩 | 在线国产能看的 | 亚洲欧美乱综合图片区小说区 | 韩国av在线播放 | 欧美一区二区三区特黄 | 开心激情网五月天 | www.久久久.cum | 日韩av看片 | 国产午夜精品福利视频 | 久久av黄色| 免费观看黄 | 国产精品九九视频 | 一区二区视频电影在线观看 | 精品久久久免费视频 | 99精品在线直播 | 欧美激情视频一区二区三区免费 | 99精品热| 97在线精品国自产拍中文 | 在线中文字幕网站 | 国产精品一区二区美女视频免费看 | 五月婷婷久草 | 狠狠精品 | 国产精品资源网 | 成人免费观看网站 | 欧美性成人 | 国产精品永久在线 | 超碰av免费| 欧美日韩国产亚洲乱码字幕 | 91探花国产综合在线精品 | 一区二区电影网 | 国产精品涩涩屋www在线观看 | 久久r精品 | 中文字幕成人网 | 日韩精品一区在线观看 | 欧美 亚洲 另类 激情 另类 | 91在线蜜桃臀 | 国产精品久久久久久婷婷天堂 | 97色免费视频 | 久久精品亚洲精品国产欧美 | 日韩精品一区二区不卡 | 久久久三级视频 | 黄色免费观看 | 免费看三级黄色片 | av电影av在线| 韩国av免费看 | 美女网站视频色 | 久久国产精品一区二区三区 | 亚洲黄色一级大片 | 国产精品黑丝在线观看 | 中文字幕九九 | 日本高清xxxx | 免费看成人片 | 国产福利91精品一区 | 精品久久1 | 国产网站在线免费观看 | 国产人成在线视频 | 韩日电影在线观看 | 国产福利在线免费观看 | 亚洲人在线视频 | 欧美a影视 | 九色精品在线 | 夜添久久精品亚洲国产精品 | 中文字幕在线观看一区二区三区 | 狠狠激情中文字幕 | 亚洲精品美女免费 | 国产视| 蜜桃视频在线观看一区 | 国产一区视频在线观看免费 | 国产精品日韩久久久久 | 午夜在线观看影院 | 成人黄色片免费看 | 日韩欧美大片免费观看 | 日韩精品一区二区不卡 | 国产精品丝袜在线 | 五月天av在线 | 亚洲精品大片www | 成人免费看片98欧美 | 丝袜美腿av | 国产在线欧美日韩 | 国产中文视频 | 黄色字幕网 | 久久精品久久精品 | 91亚洲国产成人久久精品网站 | 美女久久久久 | 五月天六月婷婷 | 毛片网在线播放 | 国产精品久久久 | 免费高清无人区完整版 | 久久欧美精品 | 日韩com| 狠狠干天天射 | 91香蕉嫩草| av中文字幕网址 | 999在线精品 | 日日爱网址 | 日韩va欧美va亚洲va久久 | 精品久久久久久综合日本 | 国产精品小视频网站 | 久久久影片 | 亚洲爱av| 亚洲三级在线免费观看 | 国内精品中文字幕 | 日韩欧美一区二区三区视频 | 久久精品视频在线播放 | 婷婷六月天丁香 | 婷婷激情5月天 | 天天操夜夜拍 | 日本在线观看视频一区 | 久久99国产一区二区三区 | 九九三级毛片 | 中文字幕网址 | 国产在线观看不卡 | 91丨九色丨蝌蚪丰满 | 亚洲国产精品小视频 | 国产美女在线观看 | 丁香资源影视免费观看 | 91香蕉视频污在线 | 九九免费在线看完整版 | 欧美精品免费一区二区 | 国产第一福利网 | 91天堂素人约啪 | 在线天堂8√ | 日韩在线视频网址 | 中文字幕在线中文 | 超碰97人人干 | 欧美国产一区二区 | 午夜av影院| 国产第一页在线播放 | 91麻豆精品久久久久久 | 免费男女羞羞的视频网站中文字幕 | 狠狠躁天天躁综合网 | 日韩av一区二区三区在线观看 | 99精品欧美一区二区三区 | 日日碰狠狠添天天爽超碰97久久 | 激情电影影院 | 香蕉影院在线 | 国产精品麻豆免费版 | 天天操夜夜叫 | av中文字幕网站 | 午夜丰满寂寞少妇精品 | 欧美亚洲国产精品久久高清浪潮 | 日韩丝袜在线 | 久久综合9988久久爱 | 国产高清免费在线播放 | 成人精品一区二区三区中文字幕 | 天天操天天射天天爱 | 免费精品国产 | 日精品在线观看 | 国产亚洲精品久久久网站好莱 | 免费看亚洲毛片 | 国产日韩欧美在线看 | 日韩欧美高清一区二区 | 亚洲区另类春色综合小说 | 日韩成人在线一区二区 | 国产在线国产 | 国产在线传媒 | 久久久久亚洲精品成人网小说 | 国产黄色精品 | 国产最新视频在线观看 | 69国产盗摄一区二区三区五区 | 很污的网站 | 久草在线这里只有精品 | 国内精品久久久久影院优 | 亚洲九九九在线观看 | 成人av免费电影 | 亚洲欧美国产精品va在线观看 | 特黄特色特刺激视频免费播放 | 亚洲人成网站精品片在线观看 | 亚洲免费国产视频 | 久久久久99精品国产片 | 国产亚洲aⅴaaaaaa毛片 | 久久久久伊人 | 99久久精品国 | 97理论片| 国产精品一区二区久久国产 | 欧美99久久 | 精品久久久久久综合 | 亚洲日本激情 | 日韩国产欧美在线视频 | 四虎在线观看 | 中文字幕一区二区三区四区 | 99精品在线免费在线观看 | 久久综合影视 |