国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频

花十分鐘的時間武裝你的代碼庫

共 9857字,需瀏覽 20分鐘

 ·

2020-08-15 14:00

當我們的代碼庫有很多人維護時,經(jīng)常會出現(xiàn)代碼風(fēng)格不一致或者代碼質(zhì)量不過關(guān),提交信息雜亂的情況,當然啦,即使是一個人的代碼庫,有的時候,自己寫代碼時不太注意細節(jié),也會出現(xiàn)風(fēng)格不一致的情況。

本文正是為了解決這個問題而生,閱讀本篇文章并不需要很長時間,如果你的代碼庫還沒有進行這些配置,正是你大展身手的好時機,武裝一下你的代碼庫。

1. 規(guī)范 commit 信息

首先,看下 angular 的代碼庫的 commit 記錄,如圖:

我們可以利用 commitizenhusky 來規(guī)范代碼庫的 commit。

安裝以下依賴:
npm?install?@commitlint/cli?@commitlint/config-conventional?husky??-D

如果你還沒有安裝過 commitizen,那么先全局安裝:

npm?install?commitizen?-g
在 package.json 中增加 husky 字段。
{
????"husky":?{
????????"hooks":?{
????????????"commit-msg":?"commitlint?-E?HUSKY_GIT_PARAMS"
????????}
????},
}

huskygit hook 工具,使用 husky,我們可以方便的在 package.json 中配置 git hook 腳本,例如: pre-commit、 pre-push、 commit-msg 等的。

創(chuàng)建 commitlint.config.js 文件
module.exports?=?{
????extends:?["@commitlint/config-conventional"],
};

此刻開始,請使用 git cz 來替代 git commit 提交信息,我們來看看,假設(shè)我們隨便寫一個 git commit -m 'fixbug' 會提示什么?

使用 git cz 來進行填寫 commit 的內(nèi)容。

git cztype 說明:

雖然,我們現(xiàn)在已經(jīng)可以規(guī)范提交信息了,但是我們可能不喜歡默認的交互,例如,一個精簡的描述就可以了,不希望再提示我去寫詳細的描述,那么就可以使用 cz-customizable 來進行定制。

自定義提交說明

安裝 cz-customizable
npm?install?cz-customizable?-D

cz-customizable 是可自定義的 Commitizen 插件,可幫助實現(xiàn)一致的 commit message

cz-customizable 適合大型團隊去自定義 scope,和 commit type。

新建 .cz-config.js

在項目根目錄下創(chuàng)建 .cz-config.js 文件:

官方提供了一份配置信息,可以去這個地址查看:https://github.com/leoforfree/cz-customizable/blob/master/cz-config-EXAMPLE.js

//.cz-config.js
module.exports?=?{
??types:?[
????{?value:?'feat',?name:?'feat:?????A?new?feature'?},
????{?value:?'fix',?name:?'fix:??????A?bug?fix'?},
????{?value:?'docs',?name:?'docs:?????Documentation?only?changes'?},
????{
??????value:?'style',
??????name:
????????'style:????Changes?that?do?not?affect?the?meaning?of?the?code\n????????????(white-space,?formatting,?missing?semi-colons,?etc)',
????},
????{
??????value:?'refactor',
??????name:?'refactor:?A?code?change?that?neither?fixes?a?bug?nor?adds?a?feature',
????},
????{
??????value:?'perf',
??????name:?'perf:?????A?code?change?that?improves?performance',
????},
????{?value:?'test',?name:?'test:?????Adding?missing?tests'?},
????{
??????value:?'chore',
??????name:
????????'chore:????Changes?to?the?build?process?or?auxiliary?tools\n????????????and?libraries?such?as?documentation?generation',
????},
????{?value:?'revert',?name:?'revert:???Revert?to?a?commit'?},
????{?value:?'WIP',?name:?'WIP:??????Work?in?progress'?},
??],

??scopes:?[{?name:?'accounts'?},?{?name:?'admin'?},?{?name:?'exampleScope'?},?{?name:?'changeMe'?}],

??allowTicketNumber:?false,
??isTicketNumberRequired:?false,
??ticketNumberPrefix:?'TICKET-',
??ticketNumberRegExp:?'\\d{1,5}',

??//?it?needs?to?match?the?value?for?field?type.?Eg.:?'fix'
??/*
??scopeOverrides:?{
????fix:?[
??????{name:?'merge'},
??????{name:?'style'},
??????{name:?'e2eTest'},
??????{name:?'unitTest'}
????]
??},
??*/

??//?override?the?messages,?defaults?are?as?follows
??messages:?{
????type:?"Select?the?type?of?change?that?you're?committing:",
????scope:?'\nDenote?the?SCOPE?of?this?change?(optional):',
????//?used?if?allowCustomScopes?is?true
????customScope:?'Denote?the?SCOPE?of?this?change:',
????subject:?'Write?a?SHORT,?IMPERATIVE?tense?description?of?the?change:\n',
????body:?'Provide?a?LONGER?description?of?the?change?(optional).?Use?"|"?to?break?new?line:\n',
????breaking:?'List?any?BREAKING?CHANGES?(optional):\n',
????footer:?'List?any?ISSUES?CLOSED?by?this?change?(optional).?E.g.:?#31,?#34:\n',
????confirmCommit:?'Are?you?sure?you?want?to?proceed?with?the?commit?above?',
??},

??allowCustomScopes:?true,
??allowBreakingChanges:?['feat',?'fix'],
??//?skip?any?questions?you?want
??skipQuestions:?['body'],

??//?limit?subject?length
??subjectLimit:?100,
};
  • types: 描述修改的性質(zhì)是什么,是bugfix還是feat,在這里進行定義。

  • scopes: 定義之后,我們就可以通過上下鍵去選擇 scope

  • scopeOverrides: 針對每一個type去定義scope

  • allowBreakingChanges: 如上設(shè)置為 ['feat', 'fix'],只有我們type選擇了 feat 或者是 fix,才會詢問我們 breaking message.

  • allowCustomScopes: 設(shè)置為 true,在 scope 選擇的時候,會有 emptycustom 可以選擇,顧名思義,選擇 empty 表示 scope 缺省,如果選擇 custom,則可以自己輸入信息

  • skipQuestions: 指定跳過哪些步驟,例如跳過我們剛剛說的詳細描述,設(shè)置其為 scope: ['body'],假設(shè)我們的項目也不會涉及到關(guān)聯(lián) issue,我們可以設(shè)置其為 scope: ['body', 'footer']

  • subjectLimit: 描述的長度限制

這里我就不一一演示每個字段修改之后的情況了,根據(jù)字段的說明,建議如果想自定義提交規(guī)則,在本地進行修改驗證,公司內(nèi)部的代碼庫不需要管理 issue,另外,我不喜歡寫長描述,所以我把 bodyfooterskip 掉了。

cz-customizable 會首先在項目根目錄下尋找: .cz-config.js.config/cz-config.js,如果找不到,會去主目錄尋找。我們也可以在 package.json 中手動去指定配置文件的路徑。

"config":?{
????"commitizen":?{?
????????"path":?"node_modules/cz-customizable"
????},
????"cz-customizable":?{
????????"config":?"config/path/to/my/config.js"
????}
}

現(xiàn)在,我們已經(jīng)規(guī)范了 commit 信息,但是沒有對提交的代碼進行規(guī)范,在一個代碼庫中,經(jīng)常出現(xiàn)2個空格/4個空格混用,有些地方寫 ;,有些不寫 ;,風(fēng)格不統(tǒng)一。例如,我們希望提交到git庫的代碼,都能夠通過 eslint 檢查或者是通過測試。我們可以借助于 pre-commit 這個鉤子來做這些事情。

2. 代碼提交前檢查

安裝依賴
npm?install?lint-staged?-D
使用 pre-commit 的 hook
"husky":?{
????"hooks":?{
????????"pre-commit":?"lint-staged"
????}
},
"lint-staged":?{
????"**/*.js":?[
????????"prettier?--write",?
????????"eslint"
????]
}

這樣配置之后,每次提交的時候,都會對要提交的文件(并不是對整個項目)進行 prettier 格式化和 eslint 檢查,都通過之后,才能 commit 成功。

eslint 和 prettier 配置

我的項目是 react 項目,下面是我進行的配置。

安裝 eslintprettier 相關(guān)依賴:

npm?install?eslint?eslint-config-prettier?eslint-plugin-promise?eslint-plugin-react?eslint-plugin-react-hooks?prettier?babel-eslint?-D

新建 .prettierrc.js

當然啦,你也可以在 package.jsonprettier 字段中配置,這里我配置成了獨立的文件,以便后期維護。

module.exports?=?{
??printWidth:?100,?//長度超過100斷行
??singleQuote:?true,//使用單引號
};

如果你有一些文件不需要 prettier 進行格式化,那么可以新建一個 .prettierignore 文件,如下:

dist
node_modules
public

新建 .eslintrc.js 文件

以下是我的配置:

module.exports?=?{
??settings:?{
????react:?{
??????pragma:?'React',
??????version:?'detect'
????}
??},
??//?babel?parser?to?support?ES6/7?features
??parser:?'babel-eslint',
??parserOptions:?{
????ecmaVersion:?7,
????ecmaFeatures:?{
??????experimentalObjectRestSpread:?true,
??????jsx:?true
????},
????sourceType:?'module'
??},
??extends:?[
????'prettier',?
????'prettier/react'
??],
??plugins:?[
????'promise',?
????'react',?
????'react-hooks'
??],
??env:?{
????browser:?true,
????es6:?true,
????node:?true
??},
??rules:?{
????'no-compare-neg-zero':?2,?//禁止與?-0?進行比較
????'no-cond-assign':?2,?//禁止條件表達式中出現(xiàn)賦值操作符
????'no-console':?1,?//禁用?console
????'no-constant-condition':?1,?//禁止在條件中使用常量表達式
????'no-control-regex':?1,?//禁止在正則表達式中使用控制字符
????'no-debugger':?2,?//禁用?debugger
????'no-dupe-args':?2,?//禁止?function?定義中出現(xiàn)重名參數(shù)
????'no-dupe-keys':?2,?//禁止對象字面量中出現(xiàn)重復(fù)的?key
????'no-duplicate-case':?2,?//禁止出現(xiàn)重復(fù)的?case?標簽
????'no-const-assign':?1,?//禁止修改const聲明的變量
????'no-empty':?1,?//禁止出現(xiàn)空語句塊
????'no-empty-character-class':?2,?//禁止在正則表達式中使用空字符集
????'no-ex-assign':?2,?//禁止對?catch?子句的異常參數(shù)重新賦值
????'no-extra-boolean-cast':?1,?//禁止不必要的布爾轉(zhuǎn)換
????'no-extra-semi':?1,?//禁止不必要的分號
????'no-func-assign':?2,?//禁止對?function?聲明重新賦值
????'no-inner-declarations':?0,?//禁止在嵌套的塊中出現(xiàn)變量聲明或?function?聲明,ES6中無需禁止
????'no-invalid-regexp':?2,?//禁止?RegExp?構(gòu)造函數(shù)中存在無效的正則表達式字符串
????'no-irregular-whitespace':?1,?//禁止在字符串和注釋之外不規(guī)則的空白
????'no-obj-calls':?2,?//禁止把全局對象作為函數(shù)調(diào)用,比如Math()?JSON()
????'no-regex-spaces':?1,?//禁止正則表達式字面量中出現(xiàn)多個空格
????'no-sparse-arrays':?1,?//禁用稀疏數(shù)組
????'no-unexpected-multiline':?1,?//禁止出現(xiàn)令人困惑的多行表達式
????'no-unreachable':?1,?//禁止在return、throw、continue?和?break?語句之后出現(xiàn)不可達代碼
????'no-unsafe-finally':?2,?//禁止在?finally?語句塊中出現(xiàn)控制流語句
????'no-unsafe-negation':?1,?//禁止對關(guān)系運算符的左操作數(shù)使用否定操作符
????'use-isnan':?2,?//要求使用?isNaN()?檢查?NaN,如?isNaN(foo),而非foo?==?NaN
????'valid-typeof':?2,?//強制?typeof?表達式與有效的字符串(如:?'undefined',?'object',?'boolean',?'number',?'string',?'function','symbol')進行比較
????'no-case-declarations':?1,?//不允許在?case?子句中使用詞法聲明
????'no-empty-pattern':?2,?//禁止使用空解構(gòu)模式
????'no-fallthrough':?2,?//禁止?case?語句落空
????'no-global-assign':?2,?//禁止對原生對象或只讀的全局對象進行賦值
????'no-octal':?1,?//禁用八進制字面量
????'no-redeclare':?1,?//禁止多次聲明同一變量
????'no-self-assign':?1,?//禁止自我賦值
????'no-unused-labels':?1,?//禁用出現(xiàn)未使用過的標
????'no-useless-escape':?1,?//禁用不必要的轉(zhuǎn)義字符
????'no-delete-var':?2,?//禁止刪除變量
????'no-undef':?2,?//禁用使用未聲明的變量,除非它們在?/*global?*/?注釋中被提到
????'no-unused-vars':?1,?//禁止出現(xiàn)未使用過的變量
????'constructor-super':?2,?//要求在構(gòu)造函數(shù)中有?super()?的調(diào)用
????'no-class-assign':?2,?//禁止給類賦值
????'no-dupe-class-members':?2,?//禁止類成員中出現(xiàn)重復(fù)的名稱
????'no-new-symbol':?2,?//禁止?Symbol?和?new?操作符一起使用
????'no-this-before-super':?2,?//禁止在構(gòu)造函數(shù)中,在調(diào)用?super()?之前使用?this?或?super
????'require-yield':?2,?//要求?generator?函數(shù)內(nèi)有?yield
????'no-mixed-spaces-and-tabs':?1,?//要求不適用space,tab混用
????'react/forbid-prop-types':?[1,?{?forbid:?['any']?}],?//禁止某些propTypes
????'react/prop-types':?1,?//沒用對props類型進行校驗
????'react/jsx-closing-bracket-location':?1,?//在JSX中驗證右括號位置
????'react/jsx-curly-spacing':?[1,?{?when:?'never',?children:?true?}],?//在JSX屬性和表達式中加強或禁止大括號內(nèi)的空格。
????'react/jsx-key':?2,?//在數(shù)組或迭代器中驗證JSX具有key屬性
????'react/jsx-max-props-per-line':?[1,?{?maximum:?1?}],?//?限制JSX中單行上的props的最大數(shù)量
????'react/jsx-no-duplicate-props':?2,?//防止在JSX中重復(fù)的props
????'react/jsx-no-undef':?1,?//在JSX中禁止未聲明的變量
????'react/no-string-refs':?1,?//Using?string?literals?in?ref?attributes?is?deprecated
????'react/jsx-uses-react':?1,?//防止反應(yīng)被錯誤地標記為未使用
????'react/jsx-uses-vars':?1,?//防止在JSX中使用的變量被錯誤地標記為未使用
????'react/no-danger':?1,?//防止使用危險的JSX屬性
????'react/no-did-update-set-state':?2,?//防止在componentDidUpdate中使用setState
????'react/no-did-mount-set-state':?0,?//防止在componentDidUpdate中使用setState
????'react/no-direct-mutation-state':?2,?//防止this.state賦值
????'react/no-unknown-property':?2,?//防止使用未知的DOM屬性
????'react/prefer-es6-class':?1,?//為React組件強制執(zhí)行ES5或ES6類
????'react/react-in-jsx-scope':?0,?//使用JSX時,必須要引入React
????'react/sort-comp':?0,?//強制組件方法順序
????'react/sort-prop-types':?0,?//強制組件屬性順序
????'react/jsx-sort-props':?1,
????'react/no-deprecated':?1,?//不使用棄用的方法
????'react/jsx-equals-spacing':?1,?//在JSX屬性中強制或禁止等號周圍的空格
????'react/wrap-multilines':?0,
????'comma-dangle':?1,?//對象字面量項尾不能有逗號
????'react/no-multi-comp':?0,?//防止每個文件有多個組件定義
????'flowtype/generic-spacing':?0,?//泛型對象的尖括號中類型前后的空格規(guī)范
????'flowtype/space-after-type-colon':?0,?//類型注解分號后的空格規(guī)范
????//?react-hooks
????'react-hooks/rules-of-hooks':?'error',
????'react-hooks/exhaustive-deps':?'warn'
??}
};

現(xiàn)在,再也不能隨心所欲往你的代碼庫提交文件啦,不過 eslintprettier 的規(guī)則要和團隊的成員協(xié)商制定哈~

參考資料:

  1. https://juejin.im/post/6844903831893966856

  2. react-native-web 代碼庫配置

學(xué)習(xí)交流

  • 關(guān)注公眾號【前端宇宙】,每日獲取好文推薦
  • 添加微信,入群交流

“在看和轉(zhuǎn)發(fā)”就是最大的支持


瀏覽 81
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報
評論
圖片
表情
推薦
點贊
評論
收藏
分享

手機掃一掃分享

分享
舉報

感谢您访问我们的网站,您可能还对以下资源感兴趣:

国产秋霞理论久久久电影-婷婷色九月综合激情丁香-欧美在线观看乱妇视频-精品国avA久久久久久久-国产乱码精品一区二区三区亚洲人-欧美熟妇一区二区三区蜜桃视频 欧美系列在线| 国产又爽又黄免费网站在| 91麻豆国产福利精品| 爱搞视频在线观看| 亚洲中文字幕码mv| 69婷婷国产精品| 欧美A级成人婬片免费看| 97视频福利| 国产精品一区二区三区四区| 五月天黄色小说| 亚洲欧美国产视频| 日韩熟妇视频| 精品一区二区三区四区五区| 美女中文字幕| 国产美女精品久久AV爽| 人人干人人爽| 99热中文| 中文字幕在线视频免费观看| 无码色| 樱桃Av| 一级黄色录相片| 中文字幕有码在线| 高清国产mv在线观看| 在线免费看黄色视频| 日韩AV无码成人精品| 18性XXXXX性猛交| 日韩一区欧美| 国产大奶一区二区| 伊人大香蕉在线视频| 亚洲av电影网| 久久久精品免费| jizz日韩| 国产一区二区三区四区在线观看| 97超碰色| 激情亚洲五月天| 在线免费看黄色| 日本爱爱网站| 亚洲人妻电影| 欧美一级特黄A片免费| 67194国产| 免费视频亚洲| 亚洲精品无码一区| 欧美日韩中文在线视频| 最新人妻| 亚洲无码高清在线| 西西人体WW大胆无码| 亚洲群交视频| 你懂的视频在线观看| 欧美特级黄| 欧美色就是色| 69成人网站| 国产亚洲欧美精品综合在线| www.91AV| 刘玥精品国产一区二区三区| 国产1级片| 先锋AV资源在线| 日本v片| 久草新| 日逼片| 黄色网页在线观看| 亚洲偷| 青草视频在线播放| 91色婷婷综合久久中文字幕二区| 情侣av| 亚洲A网| 天天躁夜夜躁狠狠躁AV| 亚洲成人av无码| 久久人妻| 天天操夜夜爱| 性视频人人| 成人777777免费视频色| 中文字幕综合网| 国产女人18毛片水18精| 成人国产在线无码AV免费| 国产伦精品一区二区三区视频女 | 91黄色视频在线播放| 欧美性生交18XXXXX无码| 91精品午夜少妇| 特黄特色一级特黄大片| 欧美AAAAA| 日韩av电影免费在线观看| 亚洲天堂av在线免费观看| 久操伊人大香蕉| 招土一级黄色片| 91乱伦视频| 国产成人一区二区| 亚洲视频第一页| 在线观看三级网址| 亚洲激情综合网| 一道本视频在线| 中文字幕第2页| 成人小说一区二区三区| 黄片高清无码在线观看| 国产一道本| 可以看的黄色视频| 国产精品美女久久久久久久久| 99在线小视频| 啪啪视频m3u8| 婷婷五月亚洲精品AAA片在| 国产精品欧美激情| 亚洲无码一区二区三| AAA一区二区三区| 一级a爱视频| 午夜爽爽视频| 日本三级片中文字幕| 亚洲成人动漫在线| 日韩一级网| 在线观看黄色| 久久久91人妻无码精品蜜桃ID| 日韩无码人妻久久一区二区三区 | 蜜桃传媒一区二区亚洲AV| 五月婷色| 乱子伦国产精品一区二区| 欧美激情另类| 日日拍夜夜拍| 91亚洲国产AⅤ精品一区二区| 日韩色道| 欧美第一区| 久久久成人视频| 日本久久久| 岛国无码在线| 亚洲成人高清无码| 91精品久久久久久| 波多野结衣性爱视频| 天天色播| 欧美城综合在线观看网| 色四播播| 狠狠色丁香| 激情无码在线观看| 91水蜜桃| 操片| 91丨九色丨蝌蚪丨丝袜| 日韩v欧美v日本v亚洲v国产v | 人人摸天天| 自拍欧美亚洲| 中文字幕黄色| 91无码高清| 西西人体大胆裸体A片| 3p绿帽黑人看自己老婆| www.一区二区三区| 亚洲精品三级片| 中文字幕乱码亚洲无线码在线日噜噜| 韩国高清无码| 日本黄A级A片国产免费| 国产黄色片免费| 91免费观看网站| 日韩精品一区二区亚洲AV观看| 高潮喷水视频| 一本久久精品一区二区| 99在线精品视频免费观看20| 家庭乱伦AV| 丝瓜视频黄| 91成人免费视频| 欧美一级黄色A片| 成人h在线| 亚韩无码| 一级片在线播放| 国产日韩性爱视频| 成人香蕉| 亚洲AV图片| aaaaaa在线观看免费高清| 亚洲一区二区AV| 亚洲av播放| 日本少妇无码| 无码-ThePorn| 少妇人妻偷人精品无码视频新浪 | 爱福利视频网| 777欧美| 日韩无码三级视频| 亚洲毛片网站| 婷婷天堂网| 亚洲欧美日韩电影| 无码日| 插逼视频网站| 亚洲va欧美va| 久久久亚洲AV无码精品色午夜| 91视频网站入口| av操操操| 麻豆一区在线| 9l视频自拍蝌蚪9l成人| 天天摸夜夜操| 欧美成人精品AAA| 91超碰在线| 黄色网址五月天| 高清无码小视频| 蜜桃成人无码区免费视频网站| 超碰免费观看| 操久久久| 日韩人妻中文字幕| 亚洲成人自拍无码| 日韩午夜在线观看| 爱逼综合网| 麻豆午夜成人无码电影| 人人爱人人插| 日本高清一区| 日韩高清无码人妻| 久久综合五月天| 91视频免费| 香蕉国产精品| 五月婷婷亚洲| sesese999| 国产操逼网站| 2020人妻中文字幕| 五月天福利影院| 特级西西444www大精品| 操BBBB| 久久婷婷五月综合| 国产婷婷内射| 日本免费不卡视频| 丰满熟妇人妻中文字幕| 91拍真实国产伦偷精品| 久久久久久97电影院电影院无码 | 免费无码在线看| 国产成人小电影| 久久AV网站| 91在线| 国产久久久久| 高清无码在线免费观看视频| 成人av免费观看| 日本一区二区视频在线观看| 无码人妻一区二区三区精品不付款| 啪啪国产| 天天日天天干天天操| 国产精品系列视频| 制服丝袜在线视频| 乖我硬了让老子cao你小视频| 免费无码视频在线观看| 亚洲黄色无码视频| 三级在线网| 熟女嗷嗷叫高潮合集91| 爽好紧别夹喷水网站| 中文AV第一页| 狠狠狠狠狠狠狠狠狠狠| 天堂俺去俺来也www久久婷婷| 五月丁香伊人| 欧美一卡二卡| 丁香花在线小说免费全文| 爆操太妹| 高清无码在线观看视频| 狠狠干狠狠干| 日韩黄色视频在线观看| 欧一美一婬一伦一区二区三区自慰国 | 伊人午夜| 夜夜嗨av一区二区三区| 天天草天天干| 国内久久| 国产一级做a爱免费视频| 求欧美精品网址| 亚洲视频一区二区| 无套内射免费视频| ThePorn-成人网站入口| 高清无码视频免费观看| 翔田千里53歳在线播放| 小h片| 午夜社区| 超碰免费视| 超碰性爱| 国产精品视频播放| 东京热一区二区| 肉片无遮挡一区二区三区免费观看视频 | 精品人妻无码一区二区三区| 乱子伦国产精品视频一级毛| 国产一二三视频| 久久人精品| 少妇激情网站| 超碰操一操| 久久精品视频免费观看| 欧美96| 91视频在线网站| 先锋无码| 国产精品免费一区二区三区四区视频| 亚洲爱| 亚洲成人视频在线观看| 新超碰97| 91色噜噜狠狠色婷婷| 青青草做爱视频| 色欲五月天| 日日精品| 精品成人网| 骚逼综合网| 国产91探花秘入口| 天天噜| 91视频在线观看18| 国产精品不卡| 国产强伦轩免费视频在线| 大地8免费高清视频观看大全| 超碰成人在线免费观看| 人妻体内射精一区二区| 在线观看国产欧美| 欧美亚洲小说| 日韩成人网站在线观看| 国产啊啊啊| 日本久久成人| 欧美一级片在线| 靠逼国产| 中文字幕成人视频| 色妞视频精品一区| 在线观看的AV| 亚洲操| 中国操逼毛片| 国产福利精品视频| 男人操女人视频网站| 91精品丝袜久久久久久久久粉嫩| 黄色内射在线播放| 欧美黄色免费在线观看| 粉嫩av懂色av蜜臀av分享| 色妹子综合| 国产免费一区二区三区四区| 国内一级黄片| 在线无码免费| 北条麻妃精品视频| 日韩色色网| 在线免费黄色视频| 亚洲日韩一级| 欧美激情网址| 成人A片视频| 日韩无码A| 全国最大成人网| 色情片在线播放| 欧美精产国品一区二区区别| 在线观看黄a| 欧美高清无码在线观看| 国产美女自拍| 青草青草视频| 人妻无码| 亚洲无码免费播放| 最新中文字幕| 中文字幕一区二区三区在线观看 | 国产喷水ThePorn| 一区二区三区免费看| 91人人澡| 亚洲无色| 麻豆激情| 丁香五月少妇| 伊人视频网| 少妇高潮喷水视频| 丁香六月婷婷久久综合| 麻豆精品无码| 成人777| 亚洲精品无码免费| 国产丝袜在线| 亚洲精品综合| 曰曰摸日日碰| 国产美女精品久久AV爽| 亚洲人操逼视频| 中日美朝美女一级片免费看| 欧美又粗又长| 黄色片免费视频网站| 国产做爱| 综合玖玖| 中文字幕在线观看网址最新地址| 91精品国际| www国产精品| 蜜桃人妻| 精品人妻一区二区免费蜜桃视频| av在线无码观看| 国产伦精品一区二区三区妓女| 亚洲图片中文字幕| 黄片无码在线观看| 午夜视频在线| 五月天综合视频| 亚洲天堂免费观看| 亚洲天堂2014| 欧美伊人大香蕉| 久久精品国产亚洲AV麻豆痴男| 亚洲无码在线视频观看| 撸撸操在线视频观看只有精品| 蜜桃Av噜噜一区| 最新AV在线| 成人香蕉| 九九偷拍| 1000部毛片A片免费视频| 亚洲天堂免费视频| 国产成人免费看| 夫妻成人免费看片一区二区| 懂色av蜜臀av粉嫩av分享| 日韩一级爱爱| 亚洲免费黄色电影| 狼友在线播放| 欧美日韩精品在线观看| 丰满人妻一区二区三区四区53| 蜜桃传媒一区二区| 欧美A片在线播放| 成人免费内射视频| 黄色激情视频网站| 久久成人一区| 黄色三级在线| 日韩一级无码毛片| 肏屄视频免费| 久久久久久无码视频| 亚洲真人无码| 俺去俺来也www色视频| 成人做爰黄片视频免费| 无码视频在线免费观看| 色播一区| 精品蜜桃一区内容| 精品91视频| 欧美在线观看一区二区| 国产精品国产精品国产专区| 韩日综合在线| 首页-91n| 国产在线视频网站| 五月天婷婷乱伦| www.97超碰| 丁香花在线小说免费阅读| 欧美成人激情视频| 中文字幕五月天| 天天日天天操天天干| 日韩在线观看网址| 免费一区二区三区| 国产成人精品久久久| 国产三级片视频在线观看| 天天操免费视频| 骚骚肥肥一区二区三区| 欧美日韩操| 中文字幕日本无码| 69成人精品视频| 中文在线字幕高清电视剧| 天天艹天天| 精品视频在线免费观看| 国产在线观看不卡| 先锋影音一区二区三区| 狼友无码| 国产农村乱婬片A片AAA图片| 日本18禁网站| 天天干天天干天| 任你爽在线视频| 五月天狠狠操| 亚洲高清视频在线播放| 手机看片福利| 国产秘精品一区二区三区免费| 国产激情123区| 4438成人网| 久草在| 一级黄色大毛片| 美女91视频网站| 中国毛片视频| 亚洲精品成人无码| 无码爱爱| 婷婷日韩在线| 538在线视频| 国产成人免费视频在线| 国语A片| www亚洲无码A片贴吧| 午夜福利100理论片| 亚洲中文无码视频| 大香蕉伊人婷婷| 狠操网| 午夜成人黄片| 国产日本在线观看| 日日骚中文字幕| 俺来也网| 九色PORNY国产成人| 无码专区在线看v| 久久99精品久久久水蜜桃| 成人性爱视频免费观看| 久操视频一区二区三区| 91成人导航| 国产理论在线| 国产无码AV大片| 免费无码进口视频| 首屈一指视频在线观看| 日韩大尺度Av| 日韩中文字幕不卡| 国产酒店自拍| www.日韩系列| 伊人网视频在线| 天天天天天天天天操| 狼人综合色| 操逼动漫| 天天日天天搞| 永久中文字幕| 国产黄色不卡| 美女黄色视频网站| 91搞鸡| 特猛特黄AAAAAA片| 亚洲69| 日本黄色录像| 国产女人18水真多18精品| 黄色无码视频| 无码操B| 国产乱╳╳AⅤ毛片| 蜜桃免费AV| 亚洲精品大片| 在线伊人| 亚洲欧美日韩免费| 亚洲无码免费观看| 亚洲五月天在线| 亚洲人免费视频| 国产精品久久久久久久久A| 激情色播| a片视频网站| 高清无码网站在线观看| www.中文字幕| 久久91欧美特黄A片| 狼友自拍| 人人人妻人人人操| 婷婷五月丁香六月| 亚洲成人精品视频| 人妻av中文无码| 日韩在线观看视频免费| 国产欧美日韩在线| 99成人视频| 丰满熟妇人妻无码视频| 伊人综合久久| 韩国午夜福利| 中文字幕四区| 制服丝袜在线视频| 国产精品成人3p一区二区三区| 国产高清免费视频| 青春草在线观看国产| 亚洲AV无码成人精品一区| 国产小视频免费在线观看| 欧美熟女18| 黄色视频网站在线免费观看| 五月天黄色片| 国产无码乱伦内射| 色婷婷亚洲| 翔田AV无码秘三区| 国产成人免费看| 日韩在线观看免| 亚洲一区二区黄色电影视频网站| 亚洲精品免费观看| 波多野结衣日韩| 91aV视频| 欧美日韩AV| 91成人在线观看国产| 久热官网| 四个熟妇搡BBBB搡BBBB| 人人操人人妻人人爽| 婬乱欧美一二三区| 国产视频导航| 极品久久久| 伊人免费在线| 无码69| 成人国产精品免费观看| 成人在线视频网站| 青草精品| 狠狠干婷婷| 亚洲天堂一区在线观看| 1024国产在线| 91在线亚洲| 韩国无码一区二区三区| 欧美A片在线播放| 国产在线看| 无码av网| 日本欧美操| 91拍真实国产伦偷精品| 亚洲性爱一区二区| 91人人人人| 91免费观看网站| 国产g蝌蚪| 操逼视频网| 17c精品麻豆一区二区免费| 毛片黄色| A片国产| 人人人射| 狠狠色狠狠操| 无码在线免费观看| 波多野成人无码精品69| www四虎com| 久久永久免费视频| 91嫖妓站街按店老熟女| 亚洲另类av| 熟女探花精选| 不卡在线视频| 中文字幕AV无码| 亚洲免费一级| 国产91视频在线观看| 亚洲精品无码更新| 精品蜜桃秘一区二区三区观看| 狼人综合网| 免费一级a片| 国产精品成人无码a无码| 中国黄色学生妹一级片| 超碰97在线精品国产| 久久国产2025| 欧美高清国产| 九九r在线精品观看视频| 91在线无码精品秘国产色多多 | 成人A片视频| 国产女人18毛片水真多18精品| 亚洲激情四射| 九九九九国产| 91搞鸡| 国产精品视频色| 欧美日韩亚洲一区二区三区| 久久99影院| 日韩a| 九色91视频| 良妇露脸15P| 美女肏| 97无码精品人妻一区二区三区| 可以看的毛片| 青青草视频91| 亚洲无码一区二区三区妃光| 国产精品91久久久| 大a片| 人人操网| 在线观看的av| 人人爽夜夜爽| AV色色| 九九九在线视频| 欧美3p视频| 毛片日韩| 91色色色色| 欧美熟妇擦BBBB擦BBBB| free性欧美| 在线观看国产区| 另类老妇奶性生BBwBB| 嫩BBB嫩BBB嫩BBB| 九九热在线观看| 成人av一区| 久久99嫩草熟妇人妻蜜臀| 亚洲精品无码a片| 人人澡超碰碰| 日韩综合在线观看| 免费看的操逼视频| A片黄色| 双腿张开被9个男人调教| 午夜av免费| 佐山爱人妻无码蜜桃| 成人av小说网站| 老熟女17页一91| 免费在线a| 久久久久久av| 国产粉嫩| 亚洲一级内射| 91人妻人人爽人人爽| 青青草超碰在线| 欧美一级在线视频| JLZZJLZZ亚洲女人| 色婷婷六月天| 爱爱视频天天干| 国产多人搡BBBB槡BBBB| 精品人伦一区二区三区| 十八女人高潮A片免费| 麻豆精品国产传媒| 91九色蝌蚪91POR成人| 久久久久久大香蕉| 日韩无码视频一区二区| 日本中文字幕视频| 日本无码毛片| 欧美第一视频| 精品秘一区性综合三区| 亚洲操屄| 7777精品伊人久久7777| 插逼免费视频| 亚洲经典一| 亚洲成人动漫在线| AV中文字幕电影| 日韩国产综合| 第四色色综合| 免费看黄色大全| 亚洲国产精品18久久久久久| 免费看黄色电影| 亚洲第一综合网| 国产极品久久久| 大香蕉伊人电影| 国产第八页| 91精品国际| 欧美三级不卡| 精品人妻无码一区二区三区| 香蕉视频a| 中文字幕在线播放av| 在线观看中文字幕亚洲| 人人上人人操| 强行征服邻居人妻HD高清日本| PORNY九色视频9l自拍| 国产精品人人| 国产91无码精品秘入口| 亚洲国产成人久久| 欧美少妇做爱| 人妻在线免费视频| www.日韩AV| 国产av网站大全| 国产精品内射视频| 中国国产乱子伦| 国产精品国产三级国产AⅤ原创| 国产精品播放| 国产棈品久久久久久久久久九秃| www.一区| 欧美大屌视频| 黄色资源在线观看| 国产123区| 免费无码国产在线53| a片免费在线观看| 日韩欧美综合| 青青操国产乱伦| 不卡一二三区| 蝌蚪窝视频网| 免费视频在线观看黄| 国产伦精品一区二区三区妓女下载| 亚洲高清福利视频| 亚欧视频在线观看| 日韩在线免费播放| 国产人妖TS重口系列网站观看 | 亚洲久久久久| 中文字幕日韩欧美| 日本高清无码| 68久久久| 欧美色乱| 精品乱子伦一区二区三区下载| 久久综合伊人7777777| 国产亚洲视频免费观看| 日韩在线二区| 黄色视频免费在线观看网站| 欧美国产视频| 欧美另类| 亚洲三级视频在线观看| 51午夜| 中国操逼网| 99在线免费视频| 美女黄色视频永费在线观看网站| 五月激情黄色| 精品人妻无码一区二区三区| 国产小视频在线看| 五十路老国产| 欧美午夜精品久久久久久3D| 欧美日韩国产精品成人| 国产专区在线| 亚洲高清在线播放| www.黄片| 久久91av| 日韩欧美性爱网站| 波多野吉衣av| 粉嫩小泬粉嫩小泬在线| 午夜成人在线视频| 日韩免费观看视频| 国产AV一区二区三区四区| 国产精品无码一区二区三区| 国产高清AV| 边吃奶边做爱| 黄视频免费在线观看| 综合网久久| 国产精品免费久久影院| 欧美久草蜜桃视频| 日韩黄色免费网站| 色哟哟一中文字慕| 亚洲性爱小说| 中国黄色大片| 午夜激情视频| 天天操操| 午夜福利电影无码| 色视频网| 在线观看视频你懂的| 天堂俺去俺来也www久久婷婷| 麻豆二区| 九九九精彩视频| 九九99电影| 97精品人妻麻豆一区二区| 日韩AA片| 亚洲91网站| 日韩欧美国产精品| 亚洲欧美另类在线| 在线观看高清无码| 97资源网站| 国产三级图片| 欧美日韩亚洲成人| 久久黄色免费视频| 狠狠干狠狠撸| 亚洲无码二区| 久久人妻视频| 九七影院第二页| 亚洲天堂2014| 奥门毛片| 久久久久极品| 特级西西444WWW视频| 免费在线观看黄色| 成人在线免费观看国产| 999热这里只有精品| 99久久婷婷国产综合| 日韩在线视频中文字幕| 黄片免费视频在线观看| 青草免费视频| 蜜臀av一区二区三区| 91乱了伦国产乱子伦| 国产美女在线播放| 97人妻人人揉人人躁人人| 一级爱爱免费视频| 欧美AAAAAA视频| 影音先锋成人电影| 精品人妻系列| 精品蜜桃一区内容| 人人肏人人射| 日韩99在线| 成人超碰| 亚洲午夜福利在线观看| 四虎Av| 五月丁香啪啪| 日韩av在线不卡| 亚洲射色| 91人妻人人澡人人爽人人精品乱| 久久久毛片| 青娱乐国产AV| 国产成人中文字幕| 操逼网首页| 欧一美一婬一伦一区| 俺也去电影| 丁香六月久久| 色六月婷婷| av高清无码| 在线91视频| 男人天堂视频网站| 欧美日韩高清无码| 国产综合自拍| 精品操逼视频| 先锋资源一区| 免费日韩| 在线日韩中文字幕| 国产精品成| 国产精品久久无码| 成人黄色毛片| 三级久久网| 一色综合| 亚洲无码AV一区二区三区| 欧美一级a| 国产精品做爱| 日本黄色录像| 激情视频网| www.伊人大香蕉| 精品成人影视| 尤物网在线| 欧美成人视频大全| 一区免费在线观看| 国产久久精品| 人人插人人| 一级片AA| 91亚洲国产成人久久精品麻豆| 先锋影音资源av| 日日操天天操夜夜操| 免费日比视频| 影音先锋国产| 日本高清版色视频| 精品国内视频| 免费一级A毛片夜夜看| 91成人在线观看学生和老师| 日本三级片中文字幕| 日韩中文字幕在线免费观看| 人妻综合网| 麻豆videos| 青青草大香蕉伊人| 午夜性视频| 成人123区| 国产AV无码专区| 国产理论电影在线观看| 丰满人妻一区二区三区视频在线不卡| 年轻女教师高潮2| 大黑人荫蒂BBBBBBBBB| 无码国产精品一区二区| 蜜桃91在线| 欧美性夜黄A片爽爽免费视频| 99热这里都是精品| 国产亚洲视频免费观看| 日韩怡春院| 国产操B视频| 一起操影院| 青草综合| 强伦人妻一区二区三区| 午夜美女福利视频| 中文字幕观看在线| 欧美性猛交一区二区三区| 国产精品国产三级国产AⅤ中文 | 九九99精品视频| 在线免费看a片| 影音先锋av在线资源站| 国产无码观看| 少妇人妻无码| 仙踪林777777野大粗| 人人上人人摸| 最新国产av| 亚洲欧美日韩不卡| 天堂网在线观看| 黄色三级视频| 肏屄综合网| 亚洲高清无码在线视频| 国产性爱精品影片免费看| 国产精品v欧美精品v日韩| 五月开心激情网| 无码成人视频| 中文字幕精品视频在线观看| 中文字幕一区二区三区精华液| 午夜成人一区二区| 久热青草| 久久久一区二区三区| 三级视频国产| 精品一二区| 一区无码免费| 美日韩一区二区三区| 无码第一页| 免费福利视频网站| 69精品无码成人久久久久久| 91麻豆精品A片国产在线观看| 国产午夜精品一区二区三区牛牛| 另类激情| 精品国产一级A片黄毛网站| 特級西西444WWw高清大膽| 天堂A片电影网站在线观看| 黄色录像毛片| 人人干人人澡|