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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

搭建一个通用的脚手架

發(fā)布時(shí)間:2025/3/20 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搭建一个通用的脚手架 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在16年年底的時(shí)候,同事聊起腳手架。由于公司業(yè)務(wù)的多樣性,前端的靈活性,讓我們不得不思考更通用的腳手架。而不是伴隨著前端技術(shù)的發(fā)展,不斷的把時(shí)間花在配置上。于是chef-cli誕生了。 18年年初,把過(guò)往一年的東西整理和總結(jié)下,重新增強(qiáng)了原有的腳手架project-next-cli, 不單單滿足我們團(tuán)隊(duì)的需求,也可以滿足其他人的需求。

<!--more-->

project-next-cli

面向的目標(biāo)用戶:

  • 公司業(yè)務(wù)雜,但有一定的積累
  • 愛(ài)折騰的同學(xué)和團(tuán)隊(duì)
  • 借助github大量開(kāi)發(fā)模板開(kāi)發(fā)

發(fā)展

前端這幾年(13年-15年)處于高速發(fā)展,主要表現(xiàn):

備注:以下發(fā)展過(guò)程出現(xiàn),請(qǐng)不要糾結(jié)出現(xiàn)順序 [捂臉]

  • 庫(kù)/框架:jQuery, backbone, angular,react,vue
  • 模塊化:commonjs, AMD(CMD), UMD, es module
  • 任務(wù)管理器:npm scripts, grunt, gulp
  • 模塊打包工具: r.js, webpack, rollup, browserify
  • css預(yù)處理器:Sass, Less, Stylus, Postcss
  • 靜態(tài)檢查器:flow/typescript
  • 測(cè)試工具:mocha,jasmine,jest,ava
  • 代碼檢測(cè)工具:eslint,jslint

開(kāi)發(fā)

當(dāng)我們真實(shí)開(kāi)發(fā)中,會(huì)遇到各種各樣的業(yè)務(wù)需求(場(chǎng)景),根據(jù)需求和場(chǎng)景選用不同的技術(shù)棧,由于技術(shù)的進(jìn)步和不同瀏覽器運(yùn)行時(shí)的限制,不得不配置對(duì)應(yīng)的環(huán)境等,導(dǎo)致我們從而滿足業(yè)務(wù)需求。

畫(huà)了一張圖來(lái)表示,業(yè)務(wù),配置(環(huán)境),技術(shù)之間的關(guān)系

前端配置工程師

于是明見(jiàn)流傳了一個(gè)新的職業(yè),前端配置工程師 O(∩_∩)O~

社區(qū)現(xiàn)狀

專一的腳手架

社區(qū)中存在著大量的專一型框架,主要針對(duì)一個(gè)目標(biāo)任務(wù)做定制。比如下列腳手架

  • vue-cli
  • vue-cli提供利用vue開(kāi)發(fā)webpack, 以及 遠(yuǎn)程克隆生成文件等 pwa等模板,本文腳手架參考了vue-cli的實(shí)現(xiàn)。

  • dva-cli
  • dva-cli 針對(duì)dva開(kāi)發(fā)使用的腳手架

  • think-cli
  • think-cli 針對(duì) thinkjs項(xiàng)目創(chuàng)建項(xiàng)目

    通用腳手架

  • yeoman
  • yeoman是一款強(qiáng)壯的且有一系列工具的通用型腳手架,但yeoman發(fā)布指定package名稱,和用其開(kāi)發(fā)工具。具體可點(diǎn)擊這里查看yeoman添加生成器規(guī)則

    開(kāi)發(fā)初衷和目標(biāo)

    由于公司形態(tài)決定了,業(yè)務(wù)類型多樣,前端技術(shù)發(fā)展迭代,為了跟進(jìn)社區(qū)發(fā)展,更好的完成下列目標(biāo)而誕生。

    • 完成業(yè)務(wù):專心,穩(wěn)定,快速
    • 團(tuán)隊(duì)規(guī)范:代碼規(guī)范,測(cè)試流程,發(fā)布流程
    • 沉淀:專人做專事,持續(xù)穩(wěn)定的迭代更新,跟進(jìn)時(shí)代
    • 效益:少加班,少造輪子,完成kpi,做更有意義的事兒

    實(shí)現(xiàn)準(zhǔn)備

    依托于Github,根據(jù)Github API來(lái)實(shí)現(xiàn),如下:

  • 獲取項(xiàng)目
  • curl -i https://api.github.com/orgs/project-scaffold/repos
  • 獲取版本
  • curl -i https://api.github.com/repos/project-scaffold/cli/tags

    實(shí)現(xiàn)邏輯

    根據(jù)github api獲取到項(xiàng)目列表和版本號(hào)之后,根據(jù)輸入的名稱,選擇對(duì)應(yīng)的版本下載到本地私有倉(cāng)庫(kù),生成到執(zhí)行目錄下。核心流程圖如下:。

    總體設(shè)計(jì)

  • 規(guī)范
    • 使用Node進(jìn)行腳手架開(kāi)發(fā),版本選擇 >=6.0.0
    • 選用async/await開(kāi)發(fā),解決異步回調(diào)問(wèn)題
    • 使用babel編譯
    • 使用ESLint規(guī)范代碼
  • 功能
  • 遵守單一職責(zé)原則,每個(gè)文件為一個(gè)單獨(dú)模塊,解決獨(dú)立的問(wèn)題。可以自由組合,從而實(shí)現(xiàn)復(fù)用。以下是最終的目錄結(jié)構(gòu):

    ├── LICENSE ├── README.md ├── bin │?? └── project ├── package.json ├── src │?? ├── clear.js │?? ├── config.js │?? ├── helper │?? │?? ├── metalAsk.js │?? │?? ├── metalsimth.js │?? │?? └── render.js │?? ├── index.js │?? ├── init.js │?? ├── install.js │?? ├── list.js │?? ├── project.js │?? ├── search.js │?? ├── uninstall.js │?? ├── update.js │?? └── utils │?? ├── betterRequire.js │?? ├── check.js │?? ├── copy.js │?? ├── defs.js │?? ├── git.js │?? ├── loading.js │?? └── rc.js └── yarn.lock

    配置和主框架

    使用babel-preset-env保證版本兼容

    {"presets": [["env", {"targets": {"node": "6.0.0"}}]] }

    使用eslint管理代碼

    • eslint demo
    {"parserOptions": {"ecmaVersion": 7,"sourceType": "module","ecmaFeatures": {"jsx": true}},"extends": "airbnb-base/legacy","rules": {"consistent-return": 1,"prefer-destructuring": 0,"no-mixed-spaces-and-tabs": 0,"no-console": 0,"no-tabs": 0,"one-var":0,"no-unused-vars": 2,"no-multi-spaces": 2,"key-spacing": [2,{"beforeColon": false,"afterColon": true,"align": {"on": "colon"}}],"no-return-await": 0},"env": {"node": true,"es6": true} }

    使用husky檢測(cè)提交

    使用husky, 來(lái)定義git-hooks, 規(guī)范git代碼提交流程,這里只做 commit校驗(yàn)

    在package.json配置如下:

    "husky": {"hooks": {"pre-commit": "npm run lint"} }

    入口

    統(tǒng)一配置和入口,分發(fā)到不同單一文件,執(zhí)行輸出。核心代碼

    function registerAction(command, type, typeMap) {command.command(type).description(typeMap[type].desc).alias(typeMap[type].alias).action(async () => {try {if (type === 'help') {help();} else if (type === 'config') {await project('config', ...process.argv.slice(3));} else {await project(type);}} catch (e) {console.log(e);help();}});return command; }

    本地配置讀和寫(xiě)

    配置用來(lái)獲取腳手架的基本設(shè)置, 如registry, type等基本信息。

  • 使用
  • project config set registry koajs # 設(shè)置本地倉(cāng)庫(kù)下載源project config get registry # 獲取本地倉(cāng)庫(kù)設(shè)置的屬性project config delete registry # 刪除本地設(shè)置的屬性
  • 邏輯
  • 判定本地設(shè)置文件存在 ===> 讀/寫(xiě)

    本地配置文件, 格式是 .ini
    若中間每一步 數(shù)據(jù)為空/文件不存在 則給予提示

  • 核心代碼
  • switch (action) {case 'get':console.log(await rc(k));console.log('');return true;case 'set':await rc(k, v);return true;case 'remove':await rc(k, v, true);return true;default:console.log(await rc());

    下面每個(gè)命令的實(shí)現(xiàn)邏輯。

    下載

  • 使用
  • project i
  • 邏輯
  • Github API ===> 獲取項(xiàng)目列表 ===> 選擇一個(gè)項(xiàng)目 ===> 獲取項(xiàng)目版本號(hào) ===> 選擇一個(gè)版本號(hào) ===> 下載到本地倉(cāng)庫(kù)

    獲取項(xiàng)目列表

    • https://api.github.com/orgs/p...

    獲取tag列表

    若中間每一步 數(shù)據(jù)為空/文件不存在 則給予提示

    請(qǐng)求代碼

    • request
    function fetch(api) {return new Promise((resolve, reject) => {request({url : api,method : 'GET',headers: {'User-Agent': `${ua}`}}, (err, res, body) => {if (err) {reject(err);return;}const data = JSON.parse(body);if (data.message === 'Not Found') {reject(new Error(`${api} is not found`));} else {resolve(data);}});}); }

    下載代碼

    • download-git-repo
    export const download = async (repo) => {const { url, scaffold } = await getGitInfo(repo);return new Promise((resolve, reject) => {downloadGit(url, `${dirs.download}/${scaffold}`, (err) => {if (err) {reject(err);return;}resolve();});}); };
  • 核心代碼
  • // 獲取github項(xiàng)目列表const repos = await repoList();choices = repos.map(({ name }) => name);answers = await inquirer.prompt([{type : 'list',name : 'repo',message: 'which repo do you want to install?',choices}]);// 選擇的項(xiàng)目const repo = answers.repo;// 項(xiàng)目的版本號(hào)劣幣愛(ài)哦const tags = await tagList(repo);if (tags.length === 0) {version = '';} else {choices = tags.map(({ name }) => name);answers = await inquirer.prompt([{type : 'list',name : 'version',message: 'which version do you want to install?',choices}]);version = answers.version;}// 下載await download([repo, version].join('@'));

    生成項(xiàng)目

  • 使用
  • project init
  • 邏輯
  • 獲取本地倉(cāng)庫(kù)列表 ===> 選擇一個(gè)本地項(xiàng)目 ===> 輸入基本信息 ===> 編譯生成到臨時(shí)文件 ===> 復(fù)制并重名到目標(biāo)目錄

    若中間每一步 數(shù)據(jù)為空/文件不存在/生成目錄已重復(fù) 則給予提示

  • 核心代碼
  • // 獲取本地倉(cāng)庫(kù)項(xiàng)目const list = await readdir(dirs.download);// 基本信息const answers = await inquirer.prompt([{type : 'list',name : 'scaffold',message: 'which scaffold do you want to init?',choices: list}, {type : 'input',name : 'dir',message: 'project name',// 必要的驗(yàn)證async validate(input) {const done = this.async();if (input.length === 0) {done('You must input project name');return;}const dir = resolve(process.cwd(), input);if (await exists(dir)) {done('The project name is already existed. Please change another name');}done(null, true);}}]);const metalsmith = await rc('metalsmith');if (metalsmith) {const tmp = `${dirs.tmp}/${answers.scaffold}`;// 復(fù)制一份到臨時(shí)目錄,在臨時(shí)目錄編譯生成await copy(`${dirs.download}/${answers.scaffold}`, tmp);await metal(answers.scaffold);await copy(`${tmp}/${dirs.metalsmith}`, answers.dir);// 刪除臨時(shí)目錄await rmfr(tmp);} else {await copy(`${dirs.download}/${answers.scaffold}`, answers.dir);}

    其中模板引擎編譯實(shí)現(xiàn)核心代碼如下:

    // metalsmith邏輯 function metal(answers, tmpBuildDir) {return new Promise((resolve, reject) => {metalsmith.metadata(answers).source('./').destination(tmpBuildDir).clean(false).use(render()).build((err) => {if (err) {reject(err);return;}resolve(true);});}); } // metalsmith render中間件實(shí)現(xiàn) function render() {return function _render(files, metalsmith, next) {const meta = metalsmith.metadata();/* eslint-disable */Object.keys(files).forEach(function(file){const str = files[file].contents.toString();consolidate.swig.render(str, meta, (err, res) => {if (err) {return next(err);}files[file].contents = new Buffer(res);next();});})} }

    升級(jí)/降級(jí)版本

  • 使用
  • project update
  • 邏輯
  • 獲取本地倉(cāng)庫(kù)列表 ===> 選擇一個(gè)本地項(xiàng)目 ===> 獲取版本信息列表 ===> 選擇一個(gè)版本 ===> 覆蓋原有的版本文件

    若中間每一步 數(shù)據(jù)為空/文件不存在 則給予提示

  • 核心代碼
  • // 獲取本地倉(cāng)庫(kù)列表const list = await readdir(dirs.download);// 選擇一個(gè)要升級(jí)的項(xiàng)目answers = await inquirer.prompt([{type : 'list',name : 'scaffold',message: 'which scaffold do you want to update?',choices: list,async validate(input) {const done = this.async();if (input.length === 0) {done('You must choice one scaffold to update the version. If not update, Ctrl+C');return;}done(null, true);}}]);const repo = answers.scaffold;// 獲取該項(xiàng)目的版本信息const tags = await tagList(repo);if (tags.length === 0) {version = '';} else {choices = tags.map(({ name }) => name);answers = await inquirer.prompt([{type : 'list',name : 'version',message: 'which version do you want to install?',choices}]);version = answers.version;}// 下載覆蓋文件await download([repo, version].join('@'))

    搜索

    搜索遠(yuǎn)程的github倉(cāng)庫(kù)有哪些項(xiàng)目列表

  • 使用
  • project search
  • 邏輯
  • 獲取github項(xiàng)目列表 ===> 輸入搜索的內(nèi)容 ===> 返回匹配的列表

    若中間每一步 數(shù)據(jù)為空 則給予提示

  • 核心代碼
  • const answers = await inquirer.prompt([{type : 'input',name : 'search',message: 'search repo'}]);if (answers.search) {let list = await searchList();list = list.filter(item => item.name.indexOf(answers.search) > -1).map(({ name }) => name);console.log('');if (list.length === 0) {console.log(`${answers.search} is not found`);}console.log(list.join('\n'));console.log('');}

    總結(jié)

    以上是這款通用腳手架產(chǎn)生的背景,針對(duì)用戶以及具體實(shí)現(xiàn),該腳手架目前還有一些可以優(yōu)化的地方:

  • 不同源,存儲(chǔ)不同的文件
  • 支持離線功能
  • 硬廣:如果您覺(jué)得project-next-cli好用,歡迎star,也歡迎fork一塊維護(hù)。

    總結(jié)

    以上是生活随笔為你收集整理的搭建一个通用的脚手架的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    性色av香蕉一区二区 | 91精品免费在线视频 | 96亚洲精品久久久蜜桃 | 久草久热| 欧美性极品xxxx娇小 | 日本99久久 | 黄色电影网站在线观看 | 91精品亚洲影视在线观看 | 天天干天天天天 | 免费av网址在线观看 | 狠狠干夜夜操天天爽 | 国产精品1区2区3区在线观看 | 在线观看视频你懂 | 亚洲国产精彩中文乱码av | 久久高清 | 久久精品亚洲精品国产欧美 | 久久久久久网址 | 中文字幕在线播放一区二区 | 欧美一级大片在线观看 | 中文字幕国产一区 | 区一区二在线 | 91麻豆精品国产自产 | 操操色| 天天摸日日摸人人看 | 久久免费黄色 | 精品亚洲网 | 国产裸体视频网站 | av一本久道久久波多野结衣 | 亚洲成人第一区 | 黄色福利网 | 国产亚洲欧美一区 | 日韩在线观看小视频 | 黄色av电影在线 | 成人免费视频视频在线观看 免费 | 成人网在线免费视频 | 激情影院在线观看 | 欧美永久视频 | 国产视频美女 | 天天操天天色天天射 | 色www精品视频在线观看 | 国产色影院 | 九九精品无码 | 成年人免费观看在线视频 | 综合网五月天 | 国产精品视频免费 | 米奇狠狠狠888 | 中文字幕在线观看网址 | 婷婷日 | 久热只有精品 | 91亚洲欧美激情 | 国产片免费在线观看视频 | 中文字幕一区二区三 | 国产精品18久久久久vr手机版特色 | 日韩精品极品视频 | bbbbb女女女女女bbbbb国产 | 免费成人在线网站 | 激情丁香婷婷 | 日韩激情影院 | 91精品999 | 中文字幕一区二区三区久久 | 国产亚洲精品成人av久久ww | 97在线免费 | 超碰在线人人97 | 中文字幕韩在线第一页 | 欧美日韩伦理一区 | 久久久久久久99 | 精品视频资源站 | 日韩精品中文字幕在线 | 麻花豆传媒一二三产区 | 91精品国产一区二区三区 | 99久热在线精品视频成人一区 | 欧美日韩免费观看一区二区三区 | 日韩综合视频在线观看 | 亚洲爽爽网 | 97国产人人| 黄色亚洲片 | 久久黄色免费 | 激情网五月婷婷 | 日韩一区二区免费在线观看 | 国产在线精品观看 | 国产精品 中文字幕 亚洲 欧美 | 91传媒在线观看 | 在线小视频你懂得 | 久久精品99国产精品亚洲最刺激 | 日韩精品视频免费在线观看 | 亚洲成人av片在线观看 | 精品久久久久免费极品大片 | 亚洲精欧美一区二区精品 | 九九日九九操 | 国产精品第十页 | 一区二区三区国 | 一区二区中文字幕在线播放 | 中文字幕在线视频一区二区 | 久久夜色精品国产欧美乱极品 | 欧美资源在线观看 | 亚洲精品白浆高清久久久久久 | 伊人亚洲精品 | 欧美a影视| 碰超在线97人人 | 亚洲高清精品在线 | 九九热国产视频 | 男女全黄一级一级高潮免费看 | 日本久久久久久久久久 | 国产亚洲激情视频在线 | 日韩在线短视频 | 黄色精品久久久 | 中文字幕在线观看av | 久草在线免费播放 | 亚洲成人网在线 | 久草9视频 | 免费在线黄网 | 中文字幕麻豆 | 国产在线观看国语版免费 | 亚洲在线资源 | 色综合天天天天做夜夜夜夜做 | 色av资源网| 欧美一区二区三区激情视频 | 久久精品高清视频 | 亚洲日本激情 | 91成年视频 | 亚州欧美视频 | 精品视频在线看 | 精品国产观看 | 国产九色视频在线观看 | 99资源网| 国产精品理论片在线观看 | 午夜国产福利在线观看 | 99热国产精品| 国产免费视频一区二区裸体 | 久草视频在线新免费 | 亚洲成av人片一区二区梦乃 | 久久都是精品 | 91免费看片黄 | 91精品国产乱码 | 亚洲精品乱码久久久久久蜜桃不爽 | 成人黄色中文字幕 | 国产精品短视频 | 色偷偷888欧美精品久久久 | 亚洲无在线 | 国产精品av在线免费观看 | 成人理论在线观看 | 亚洲欧洲一级 | 亚洲国产人午在线一二区 | 中文字幕在线一区二区三区 | 精品美女久久久久 | 免费观看av网站 | 亚洲aⅴ久久精品 | 国产精品资源网 | 人人爽爽人人 | 国产黄色精品在线观看 | 久久国产精品偷 | 国产九九精品 | 超碰午夜 | 香蕉视频久久久 | 成人小视频免费在线观看 | 亚洲.www | 中文字幕在线乱 | 天天操天天干天天爽 | 国产精品亚洲精品 | 麻豆免费视频 | 热久久视久久精品18亚洲精品 | 2021av在线| 欧美成年人在线视频 | 日本特黄一级 | 成人福利av | 免费观看的黄色 | 成人免费视频免费观看 | 国产中出在线观看 | 天天操天天舔天天爽 | 天天草天天爽 | 久久99国产精品视频 | 久久97精品 | 在线观看国产日韩欧美 | 久久国产精品视频观看 | 超碰国产在线播放 | 日韩欧美一区二区三区免费观看 | 精品一区二区三区四区在线 | 成人a在线观看 | 久久一本综合 | 亚洲国产成人高清精品 | 四虎影视久久久 | 在线观看mv的中文字幕网站 | 精品国产一区二区三区久久久 | 日韩欧美国产免费播放 | 91麻豆精品国产91久久久使用方法 | 国产日韩精品一区二区三区在线 | 在线亚洲精品 | 久久夜色精品国产欧美乱极品 | 亚洲日本一区二区在线 | 久草在线欧美 | 成人久久18免费 | 天天干,天天射,天天操,天天摸 | 日韩在线 | 精品国模一区二区三区 | 青草草在线视频 | av片在线观看 | 香蕉免费在线 | 国产a精品 | 日批在线看| 97人人模人人爽人人喊中文字 | 亚洲精品一区中文字幕乱码 | 激情网站免费观看 | 久久精品视频国产 | 在线免费观看黄 | 久久视频这里有精品 | 久久久久观看 | 国产一二三在线视频 | 在线国产日本 | av综合 日韩| 91大神一区二区三区 | 久久亚洲国产精品 | 国产中年夫妇高潮精品视频 | 国产精品va在线 | 中文字幕中文中文字幕 | 国产成人免费精品 | 伊人婷婷激情 | 麻豆果冻剧传媒在线播放 | 97在线看片 | 国产三级视频 | 91麻豆视频网站 | 亚洲人成在线电影 | 国产精品欧美日韩在线观看 | 欧美日韩精品免费观看视频 | 日韩免费一区二区在线观看 | 久久免费视频精品 | 91视频-88av | 日韩三级视频在线看 | 91丨九色丨蝌蚪丨对白 | 婷婷色综合 | 在线日本看片免费人成视久网 | 欧美福利在线播放 | 人人玩人人添人人澡超碰 | 视频99爱| 久久国产精品影片 | 亚洲免费av一区二区 | 99精品国产99久久久久久福利 | 免费电影一区二区三区 | 97免费在线观看视频 | 中文字幕91 | 欧美激情视频在线观看免费 | 91在线网址| 久久综合偷偷噜噜噜色 | 国产999精品久久久久久 | 国产精品9区 | 国产免费又爽又刺激在线观看 | 婷婷激情综合 | 成人h视频在线 | 久久综合九色综合欧美狠狠 | 黄色成人在线观看 | 香蕉久草 | 国产婷婷久久 | 黄a在线| 91精品资源 | 99精品在线直播 | 天天操偷偷干 | 欧美激情视频一区二区三区 | 日韩在线第一 | 天天操天天射天天 | 日韩久久电影 | 亚洲不卡av一区二区三区 | 日韩高清不卡在线 | 色播五月激情五月 | 国色综合 | 久久久精品国产一区二区三区 | 国产96精品| 国产资源在线免费观看 | 亚洲人久久久 | 欧美一区二区在线刺激视频 | 国产一区二区三区免费视频 | 婷婷四房综合激情五月 | 久久视频在线观看免费 | 婷婷综合 | 日本久久久久久久久久 | 久久草在线免费 | 婷婷黄色片| 久久99电影 | 天堂av中文字幕 | 又污又黄的网站 | 色九九在线 | 91av视频在线免费观看 | www99精品 | 久久五月网 | 国产一区二区精品91 | 国产精品一区二区果冻传媒 | 98超碰人人| 粉嫩av一区二区三区四区在线观看 | 精品99久久久久久 | 亚洲国产成人精品在线观看 | 精品中文字幕在线观看 | 久久视频在线观看 | 天堂在线免费视频 | 久久视频免费在线 | 成年人在线观看网站 | 超级碰碰碰视频 | 国产一级二级三级视频 | 一级特黄aaa大片在线观看 | 天天干,天天干 | 国产精品乱码久久久久 | www.黄色小说.com| 国产美女主播精品一区二区三区 | 最近日韩免费视频 | 婷婷久久久久 | 8x8x在线观看视频 | 一级淫片a| 2022中文字幕在线观看 | 色操插 | 欧美日韩视频一区二区三区 | 亚洲美女免费视频 | 96精品高清视频在线观看软件特色 | 天天操天天色天天 | 99久久精品视频免费 | 午夜影视一区 | 五月花激情 | 狠狠色噜噜狠狠狠合久 | av中文在线播放 | 91成版人在线观看入口 | a天堂免费| 蜜臀av性久久久久蜜臀av | 在线亚洲高清视频 | 特级a老妇做爰全过程 | 91av在线免费 | 久精品视频免费观看2 | 国产高清中文字幕 | 日韩av看片 | 欧美a级片网站 | 亚洲综合国产精品 | 欧美日韩在线观看一区二区 | 一区二区三区 中文字幕 | 黄a在线| 在线观看中文字幕dvd播放 | 成人三级av | 在线www色 | 国产精品久久久久久久久久不蜜月 | 国产色黄网站 | 欧美另类69 | 欧美亚洲国产一卡 | 69av视频在线观看 | 91精品久久久久久久久 | 91精品国产一区二区在线观看 | 天天综合操 | 日韩一区二区免费视频 | 91一区啪爱嗯打偷拍欧美 | 免费视频一区 | 五月婷婷国产 | 2021久久| 成人污视频在线观看 | 人成午夜视频 | 中文字幕电影一区 | a色视频 | 国产在线高清视频 | a成人v在线 | 国产午夜三级一二三区 | 久久伊人八月婷婷综合激情 | 国产美女免费看 | 91麻豆视频 | 91桃色免费观看 | 日韩在线电影一区二区 | 色偷偷97| 婷婷久久久久 | 久久激情五月丁香伊人 | 天天干天天综合 | 一区二区三区四区久久 | 国产一级免费片 | 中文字幕日本特黄aa毛片 | 99精品国产兔费观看久久99 | 国内精品视频在线 | 久久新视频 | 日本不卡一区二区 | 九九九九精品 | 国产精品自产拍在线观看中文 | 香蕉网址| 色婷婷福利视频 | 免费在线精品视频 | 欧美影院久久 | 成年人免费观看国产 | 久久人人爽人人爽人人片av免费 | 337p日本欧洲亚洲大胆裸体艺术 | 亚洲电影网站 | 欧洲视频一区 | 天天操夜夜看 | 国产91在线观看 | 最新av在线网址 | 久久免费在线观看 | 国产视频在线一区二区 | 久久成人国产精品入口 | 久草在线免费资源 | 国产亚洲视频在线免费观看 | www色| 日韩最新在线视频 | 国产日韩精品一区二区在线观看播放 | 免费久草视频 | 午夜少妇| 欧美孕交vivoestv另类 | 国产精品一区二区无线 | 国产69久久久 | av在线免费在线观看 | 色婷婷激情电影 | 日本中文字幕一二区观 | 亚洲日本三级 | 欧美专区亚洲专区 | 精品国产乱码久久久久久1区2匹 | 欧美日韩高清一区二区 国产亚洲免费看 | 成人久久18免费网站麻豆 | 久草久热 | 天天操人人要 | 黄色软件在线观看视频 | 国产精品一区二区无线 | 在线久热 | 国产一区二区免费 | 亚洲精品国产精品久久99 | 嫩草91影院 | 97超碰网| 日日色综合 | 日本精品视频在线观看 | 视频1区2区 | 99精品国产99久久久久久97 | 日韩精品一卡 | 国产精品刺激对白麻豆99 | 98精品国产自产在线观看 | 国产成人精品国内自产拍免费看 | 涩涩伊人 | 国产精品久久久久久久av电影 | 在线免费日韩 | 久久精品高清视频 | 久久九九国产视频 | 一本一道波多野毛片中文在线 | 免费av大全 | 女人高潮一级片 | 日日夜夜天天操 | 97电影网手机版 | 久久国产经典视频 | 日韩av一区二区在线影视 | 久草在线视频看看 | 热久久精品在线 | 中文字幕在线网址 | 天天爽天天爽天天爽 | 日韩视频免费 | 亚洲最大在线视频 | 亚洲成人999 | 亚洲国产成人在线观看 | av在线网站免费观看 | 国产特级毛片aaaaaaa高清 | 日韩成人看片 | 91精品在线免费视频 | 亚州国产精品视频 | 一本一本久久a久久精品综合妖精 | 国产精品久久电影网 | 亚洲免费在线视频 | www.日日操.com| 日韩两性视频 | 国产精品免费久久久久 | 99这里精品| 在线天堂v | 久久69av | 丁香五月亚洲综合在线 | 一本到在线 | 国产亚洲免费观看 | 国产精品久久久久久久久久直播 | 国产中文字幕网 | 97在线视频免费看 | 国产中文字幕在线免费观看 | 国产伦精品一区二区三区免费 | 亚洲乱码久久 | 天天干夜夜擦 | 亚洲国产三级在线观看 | 在线观看国产成人av片 | 美女啪啪图片 | 国产欧美日韩视频 | 精品国产欧美 | 久视频在线播放 | 一区二区av| 亚洲aⅴ一区二区三区 | 国产综合激情 | 国产毛片久久久 | 久久美女视频 | 国产精品久久久99 | 国产日韩中文字幕 | 久草线| 久久久久在线 | 久久精品最新 | 国产一区免费视频 | 西西444www大胆高清图片 | 黄色片免费电影 | 国产成人av网站 | 91色偷偷| 国产日本在线播放 | 精品国产一区二区三区在线 | 精品国产一区二区三区久久久蜜臀 | 91成人欧美 | 久久久久久久久久久网 | 99精品电影| 国产精品久久久久久久久久东京 | 97自拍超碰| 国产成人精品久久久久蜜臀 | 久久精品高清视频 | 在线国产高清 | 久久免费视频在线观看6 | 国产亚洲亚洲 | 狠狠干在线播放 | 一本大道久久精品懂色aⅴ 五月婷社区 | 人人超碰免费 | 欧美a√大片 | 91在线入口 | 国产精品女人久久久 | 五月天堂色| 欧美精品视 | 97精品国产91久久久久久 | 国产精品12| 麻豆免费在线视频 | 色永久免费视频 | 国产伦理久久精品久久久久_ | 久艹视频免费观看 | 99久久综合狠狠综合久久 | 91精品91 | 久久色中文字幕 | 中文日韩在线 | 国产美女精品人人做人人爽 | 久久免费精品国产 | 国产综合视频在线观看 | 精品在线视频观看 | 欧美日高清视频 | 亚洲资源片 | 亚洲成a人片在线www | 国产日韩欧美精品在线观看 | 黄色片网站av | av中文字幕在线免费观看 | 精品一区av | 亚洲精品中文在线资源 | 亚洲年轻女教师毛茸茸 | 免费看的黄色录像 | 欧美日韩网站 | 久久久免费毛片 | 夜夜爽夜夜操 | 久久精品三级 | 国产黑丝袜在线 | 日韩v在线91成人自拍 | 97超碰资源总站 | 婷婷九九 | 久艹视频在线免费观看 | 亚洲精品午夜视频 | 黄色软件在线观看视频 | 午夜精品一区二区三区在线观看 | 黄色成人影院 | 亚洲视频免费在线看 | av中文字幕网站 | 久久欧美在线电影 | 黄色h在线观看 | 91福利区一区二区三区 | 国产精品久久久99 | 波多野结衣精品视频 | 婷婷视频在线 | 久草com| 欧美一二三区在线播放 | av午夜电影 | 久久久久日本精品一区二区三区 | 成人 亚洲 欧美 | 天天爽天天摸 | 亚洲精品理论 | 日韩中文在线观看 | 国产精品久久久久久久久蜜臀 | 在线色亚洲 | 国产小视频免费在线观看 | www.狠狠插.com | 国产精品久久久免费看 | 亚洲成人黄色 | 免费在线国产精品 | 天堂av在线网 | 日本精品一区二区三区在线播放视频 | 久久资源总站 | 男女日麻批| 亚洲国产色一区 | 欧美精品v国产精品v日韩精品 | 国产精品久免费的黄网站 | 91黄色在线视频 | 日韩视频一区二区三区 | 深夜福利视频在线观看 | 国产中文在线观看 | 日本狠狠色 | 91成人破解版 | 精品国产乱码一区二 | 精品亚洲免费 | 伊人婷婷久久 | 六月丁香色婷婷 | 美女在线免费视频 | 米奇四色影视 | 国产自在线 | 国产成人一区二区三区影院在线 | 美女网站在线看 | 99热在线免费观看 | 福利视频午夜 | 在线视频一二区 | 日韩成年视频 | 国产精品久久久久久久久久直播 | 久久国产亚洲精品 | 亚洲精品高清一区二区三区四区 | 日日弄天天弄美女bbbb | 亚洲精品美女久久久久网站 | 国产视频一级 | 高清国产午夜精品久久久久久 | 免费观看一级视频 | 在线观看久久久久久 | 亚洲激情六月 | 国产免费一区二区三区网站免费 | 干亚洲少妇 | 日韩av电影免费在线观看 | 天天射天天干 | 国产精品美女久久久久aⅴ 干干夜夜 | 精品毛片在线 | 在线视频你懂得 | 2022久久国产露脸精品国产 | 一区二区免费不卡在线 | 欧美一区二区在线刺激视频 | av免费看网站 | 婷婷丁香激情网 | 午夜久久美女 | 人人干天天射 | 亚洲综合小说电影qvod | 91在线麻豆 | 国产区av在线| 欧美日韩国产色综合一二三四 | 中文字幕av在线免费 | 日韩午夜在线观看 | av免费看电影 | 国产成人久久精品亚洲 | 精品国产91亚洲一区二区三区www | 91精品免费在线观看 | 激情电影在线观看 | 婷婷在线综合 | 国产一区私人高清影院 | 欧美精品乱码99久久影院 | 激情婷婷欧美 | 麻花豆传媒一二三产区 | 91在线看 | 国产九九热 | 极品久久久 | 欧美日韩免费看 | 在线视频手机国产 | 免费的国产精品 | 亚洲成人午夜在线 | 免费看污在线观看 | 992tv人人网tv亚洲精品 | 成人免费视频网站在线观看 | 99久久这里只有精品 | 日韩av不卡在线播放 | 一区三区视频在线观看 | 日本久久久影视 | 久久福利电影 | 区一区二区三在线观看 | 婷婷综合激情 | 美女国产精品 | 国产成人在线看 | 国产美女久久久 | 亚洲黄色网络 | 日韩av黄 | 久久tv视频 | 国产精品一区二区视频 | 亚洲一区二区三区四区精品 | 一区视频在线 | 国产一区二区在线影院 | 视频在线播放国产 | 黄色小说在线观看视频 | 国产精品久久久久久久久久久不卡 | 99性视频 | www.97视频 | 久热这里有精品 | 免费看成人a| 欧美一级性视频 | 国产精品一区在线 | 996久久国产精品线观看 | 精品久久久久久久久久久久 | 中文字幕av免费在线观看 | 日日躁天天躁 | 国产免费一区二区三区最新 | 免费看黄的 | 国产亚洲精品xxoo | 91亚瑟视频 | 色婷婷丁香 | 丁香婷婷亚洲 | 热久久这里只有精品 | 精品国产综合区久久久久久 | 97色婷婷人人爽人人 | 国产成人精品电影久久久 | 91亚洲激情 | 欧美精品一区在线发布 | 一区二区三区中文字幕在线 | 97精品电影院 | 97国产情侣爱久久免费观看 | 狠狠的干狠狠的操 | 亚洲va韩国va欧美va精四季 | 久久久久久国产精品亚洲78 | 久久精品国产精品亚洲精品 | 中文字幕免费观看视频 | 国产精品伦一区二区三区视频 | 免费一级片视频 | 亚洲国产免费看 | 国产精品久久久一区二区 | 日本成人黄色片 | 五月天电影免费在线观看一区 | 二区三区在线视频 | 中文久草 | 久久精品a| 国产成人久久精品一区二区三区 | 国产精品久久99综合免费观看尤物 | 国产无遮挡猛进猛出免费软件 | 91黄色小视频 | 国产精品资源在线 | 国产精品综合av一区二区国产馆 | 黄色小视频在线观看免费 | 亚洲国产精品日韩 | 欧美在线视频第一页 | 亚洲国产中文字幕在线观看 | 视频一区二区在线观看 | 国产精品不卡视频 | 成人影音在线 | 中文字幕在线观看资源 | 在线看不卡av | 黄网站免费看 | 91中文字幕一区 | 天天做天天爱夜夜爽 | 亚洲国产福利视频 | 99精品在线观看视频 | 毛片在线播放网址 | 日韩精品高清不卡 | 精品国产网址 | 福利一区二区在线 | 国产精品成人一区 | 国产一区国产二区在线观看 | 天天拍天天草 | 一区二区三区在线观看免费 | 最新av中文字幕 | 日本黄色免费在线 | 中文字幕资源网在线观看 | 久久1区 | 岛国av在线不卡 | 最近免费观看的电影完整版 | 亚洲国产日本 | 日韩女同一区二区三区在线观看 | 亚洲国产精品资源 | 天天天天色射综合 | 国产剧在线观看片 | 人人盈棋牌 | 五月婷婷影视 | 日韩大片在线看 | av电影不卡在线 | 国产精品久久久久久999 | 精品a视频 | 中文字幕 在线 一 二 | 欧美日韩色婷婷 | 在线免费观看视频你懂的 | 最新日韩视频在线观看 | 国产专区在线视频 | 国产午夜精品福利视频 | www.夜夜操.com | 国产精品美女久久久久久久久久久 | 亚洲欧美日本一区二区三区 | 日韩午夜电影院 | 日韩啪啪小视频 | 亚洲第一中文字幕 | 久久视频一区 | 国产在线高清精品 | 91久久久久久久 | 五月天综合色激情 | 亚洲免费av一区二区 | 色美女在线 | 日韩av高潮 | 五月天久久精品 | 349k.cc看片app| 国产精品免费在线播放 | 国产精品第一页在线观看 | 日韩免费观看视频 | 国产伦精品一区二区三区在线 | 成人av片在线观看 | 日韩综合精品 | av免费片| www.狠狠操.com | 亚洲成人精品久久久 | 国产 日韩 在线 亚洲 字幕 中文 | 中文字幕在线观看完整版 | 五月婷婷开心 | 九九久久电影 | 亚洲免费高清视频 | 波多野结衣一区三区 | 精品久久久久久久久久久久久久久久 | 99视频在线免费播放 | 美州a亚洲一视本频v色道 | 在线观看中文字幕 | 成人免费在线视频观看 | 日韩免费在线观看视频 | 久久国产免 | www.色婷婷 | 在线国产中文字幕 | 国产 欧美 日产久久 | 草在线视频 | 亚洲精品美女 | 黄网站色视频免费观看 | 在线观看亚洲电影 | 91禁在线看 | 婷婷精品国产欧美精品亚洲人人爽 | 精品福利视频在线 | 久久久精品综合 | 91大神精品视频在线观看 | 一级黄色片在线免费观看 | 天天操操 | 日韩网站在线看片你懂的 | 日本精品在线看 | 成人黄色大片网站 | 六月婷婷网| 96av在线视频 | 香蕉视频免费在线播放 | 久热免费在线观看 | 欧美日韩在线视频观看 | 婷婷久久网站 | 日韩av中文字幕在线免费观看 | 欧美精品一二三 | 中文字幕视频播放 | 成人av免费网站 | 最近中文字幕mv免费高清在线 | 九色最新网址 | 久久久久免费网站 | www蜜桃视频 | 天天激情站| 99热这里只有精品久久 | www久久| 中文字幕在线播放视频 | 国产精品99久久久久 | 久久久久国产成人精品亚洲午夜 | 国产精品嫩草影院9 | 91精品久久久久 | 中文字幕免费在线看 | 日韩高清在线不卡 | 一区二区高清在线 | 久久国产精品久久w女人spa | 粉嫩av一区二区三区四区在线观看 | 欧美精品v国产精品v日韩精品 | 亚洲一级片 | 亚洲国产wwwccc36天堂 | 国产高清在线免费 | 久草青青在线观看 | 色av色av色av | www.久久久.cum | 99久久久国产精品美女 | 91热爆视频 | 人人草在线视频 | 最新精品国产 | 久久久99精品免费观看 | 一区久久久 | 夜夜爽www | 国内精品99 | 91成人区 | 久久精品美女视频 | 久久www免费人成看片高清 | 综合色影院| 天天综合网久久综合网 | 人人干人人上 | 成人性生交大片免费观看网站 | 国产区精品在线 | 久久久国产在线视频 | 高清av网站| 欧美日韩精品免费观看 | 国产91精品一区二区麻豆亚洲 | 成人综合婷婷国产精品久久免费 | 久久激五月天综合精品 | 在线观看中文字幕第一页 | 色婷婷综合久久久中文字幕 | 久艹在线播放 | 国产五月天婷婷 | 狠狠撸电影 | 啪啪激情网| 午夜精品久久久久久99热明星 | 精品国产乱码久久久久 | 夜夜爽天天爽 | 不卡的av在线播放 | 久久免费的精品国产v∧ | 又黄又爽又湿又无遮挡的在线视频 | 国产精品18久久久久久久网站 | 国产精品麻豆视频 | 国内精品在线看 | 国产美女在线免费观看 | 四虎在线免费观看 | 奇米影视在线99精品 | 久久国产麻豆 | 中文字幕一区三区 | 成人中文字幕在线观看 | 亚洲无吗视频在线 | 69国产盗摄一区二区三区五区 | 国产精品久久久久久久av大片 | 国产日韩欧美综合在线 | 亚洲精品美女在线观看 | 国产精品一区二区在线播放 | 国产69精品久久久久9999apgf | 成人久久国产 | 国产丝袜 | 日韩电影中文字幕在线观看 | 91亚洲精品在线 | 亚洲黄色片一级 | 六月婷色 | 久青草电影 | 免费看的视频 | 日韩网站一区 | 不卡国产视频 | 久久露脸国产精品 | 在线免费试看 | 精品在线免费观看 | 日韩精品免费一区 | 国产色拍拍拍拍在线精品 | 国产亚洲资源 | 特级西西444www大胆高清无视频 | 97人人超 | 国产亚洲综合在线 | 午夜国产福利在线 | 久久精品视频在线观看 | 免费观看一级特黄欧美大片 | 成人av av在线 | 在线观看国产日韩欧美 | 欧美精品久久久久久久久久久 | 国产拍揄自揄精品视频麻豆 | 毛片3| 三级黄色免费 | 色在线高清 | 亚洲视频免费在线 | 99精品国产一区二区三区麻豆 | 丝袜美女视频网站 | av在线之家电影网站 | 国产免费大片 | 国产中文视频 | 久久久99精品免费观看 | 精品国产久 | 欧美网址在线观看 | 人人射 | 综合激情 | 女人魂免费观看 | 国产精品激情 | 99精品免费网 | 色婷婷狠狠操 | 99爱视频| 九九视频一区 | 菠萝菠萝在线精品视频 | 伊人影院99| 国内精品久久久久久久久久 | 伊甸园永久入口www 99热 精品在线 | 在线观看91精品视频 | 黄色av网站在线观看免费 | 成人午夜电影网站 | 黄色免费网站 | 国产精品一区二区av影院萌芽 | 91九色蝌蚪视频网站 | 久久久久久高潮国产精品视 | 久久看片网 | 久久久黄色av | 日韩在线观看中文字幕 | 免费热情视频 | 中文字幕视频网站 | 天天草综合 | 日本中文字幕高清 | 狠狠色丁香婷婷综合最新地址 | 天天综合天天做 | 久久久久福利视频 | 国产专区精品视频 | 天天操天天操天天操天天操天天操天天操 | 波多野结衣在线视频一区 | 国产第页 | 久久久久久国产精品 | 一区二区视频在线看 | 久久 亚洲视频 | 久久免费在线观看 | 成人久久久久久久久久 | 欧美a视频| 日韩欧美国产免费播放 | 亚洲精品午夜久久久 | 久操视频在线观看 | 免费在线成人av电影 | 偷拍精品一区二区三区 | 国产精品门事件 | 一区二区不卡高清 | 日韩免费观看一区二区 | 日韩网站中文字幕 | 91九色porny在线 | 91麻豆文化传媒在线观看 | 久久综合色一综合色88 | 看全黄大色黄大片 | 精品嫩模福利一区二区蜜臀 | 人人插超碰 | 美女很黄免费网站 | 一区 二区 精品 | 国产福利一区二区在线 | 97日日 | 91成人观看 | 免费日韩视频 | 国产精品不卡在线 | 美女精品网站 | 亚洲性少妇性猛交wwww乱大交 | 免费福利视频网站 | 日本xxxx.com | 日本精品久久久久 | 97福利视频 | 三级视频日韩 | 久久情侣偷拍 | 久久久久久久18 |