午夜勾魂曲-午夜福利自怕-午夜福利在线观看6080-午夜福利院电影-国产精品毛片AV久久97-国产精品麻豆高潮刺激A片

將 Gatsby 項目遷移到 TypeScript

2020-5-4    seo達人

之前花了些時間將gatsby-theme-gitbook遷移到 Typescript,以獲得在 VSCode 中更好的編程體驗.

整體差不多已經完成遷移,剩下將 Gatsby 的 API 文件也遷移到 TS,這里可以看到 gatsby#21995 官方也在將核心代碼庫遷移到 Typescript,準備等待官方將核心代碼庫遷移完成,在遷移 API 文件.


這篇文章用XYShaoKang/gatsby-project-config,演示如何將 gatsby 遷移到 TypeScript,希望能幫到同樣想要在 Gatsby 中使用 TS 的同學.


遷移步驟:


TS 配置

配置 ESLint 支持 TS

完善 GraphQL 類型提示

初始化項目

gatsby new gatsby-migrate-to-typescript XYShaoKang/gatsby-project-config

cd gatsby-migrate-to-typescript

yarn develop

TS 配置

安裝typescript

添加typescript.json配置文件

修改 js 文件為 tsx

補全 TS 聲明定義

安裝typescript

yarn add -D typescript

添加配置文件tsconfig.json

// https://www.typescriptlang.org/v2/docs/handbook/tsconfig-json.html

{

 "compilerOptions": {

   "target": "esnext", // 編譯生成的目標 es 版本,可以根據需要設置

   "module": "esnext", // 編譯生成的目標模塊系統

   "lib": ["dom", "es2015", "es2017"], // 配置需要包含的運行環境的類型定義

   "jsx": "react", // 配置 .tsx 文件的輸出模式

   "strict": true, // 開啟嚴格模式

   "esModuleInterop": true, // 兼容 CommonJS 和 ES Module

   "moduleResolution": "node", // 配置模塊的解析規則,支持 node 模塊解析規則

   "noUnusedLocals": true, // 報告未使用的局部變量的錯誤

   "noUnusedParameters": true, // 報告有關函數中未使用參數的錯誤

   "experimentalDecorators": true, // 啟用裝飾器

   "emitDecoratorMetadata": true, // 支持裝飾器上生成元數據,用來進行反射之類的操作

   "noEmit": true, // 不輸出 js,源映射或聲明之類的文件,單純用來檢查錯誤

   "skipLibCheck": true // 跳過聲明文件的類型檢查,只會檢查已引用的部分

 },

 "exclude": ["./node_modules", "./public", "./.cache"], // 解析時,應該跳過的路晉

 "include": ["src"] // 定義包含的路徑,定義在其中的聲明文件都會被解析進 vscode 的智能提示

}

將index.js改成index.tsx,重新啟動服務,查看效果.


其實 Gatsby 內置了支持 TS,不用其他配置,只要把index.js改成index.tsx就可以直接運行.添加 TS 依賴是為了顯示管理 TS,而tsconfig.json也是這個目的,當我們有需要新的特性以及自定義配置時,可以手動添加.

補全 TS 聲明定義

打開index.tsx,VSCode 會報兩個錯誤,一個是找不到styled-components的聲明文件,這個可以通過安裝@types/styled-components來解決.

另外一個錯誤綁定元素“data”隱式具有“any”類型。,這個錯誤是因為我們在tsconfig.json中指定了"strict": true,這會開啟嚴格的類型檢查,可以通過關閉這個選項來解決,只是我們用 TS 就是要用它的類型檢查的,所以正確的做法是給data定義類型.

下面來一一修復錯誤.


安裝styled-components的聲明文件


yarn add -D @types/styled-components

修改index.tsx


import React, { FC } from 'react'

import styled from 'styled-components'

import { graphql } from 'gatsby'

import { HomeQuery } from './__generated__/HomeQuery'


const Title = styled.h1`

 font-size: 1.5em;

 margin: 0;

 padding: 0.5em 0;

 color: palevioletred;

 background: papayawhip;

`


const Content = styled.div`

 margin-top: 0.5em;

`


interface PageQuery {

 data: {

   allMarkdownRemark: {

     edges: Array<{

       node: {

         frontmatter: {

           title: string

         }

         excerpt: string

       }

     }>

   }

 }

}


const Home: FC<PageQuery> = ({ data }) => {

 const node = data.allMarkdownRemark.edges[0].node


 const title = node.frontmatter?.title

 const excerpt = node.excerpt


 return (

   <>

     <Title>{title}</Title>

     <Content>{excerpt}</Content>

   </>

 )

}


export default Home


export const query = graphql`

 query HomeQuery {

   allMarkdownRemark {

     edges {

       node {

         frontmatter {

           title

         }

         excerpt

       }

     }

   }

 }

`

這時候會出現一個新的錯誤,在excerpt: string處提示Parsing error: Unexpected token,這是因為 ESLint 還無法識別 TS 的語法,下面來配置 ESLint 支持 TS.


配置 ESLint 支持 TypeScript

安裝依賴


yarn add -D @typescript-eslint/parser @typescript-eslint/eslint-plugin

配置.eslintrc.js


module.exports = {

 parser: `@typescript-eslint/parser`, // 將解析器從`babel-eslint`替換成`@typescript-eslint/parser`,用以解析 TS 代碼

 extends: [

   `google`,

   `eslint:recommended`,

   `plugin:@typescript-eslint/recommended`, // 使用 @typescript-eslint/eslint-plugin 推薦配置

   `plugin:react/recommended`,

   `prettier/@typescript-eslint`, // 禁用 @typescript-eslint/eslint-plugin 中與 prettier 沖突的規則

   `plugin:prettier/recommended`,

 ],

 plugins: [

   `@typescript-eslint`, // 處理 TS 語法規則

   `react`,

   `filenames`,

 ],

 // ...

}

在.vscode/settings.json中添加配置,讓VSCode使用ESLint擴展格式化ts和tsx文件


// .vscode/settings.json

{

 "eslint.format.enable": true,

 "[javascript]": {

   "editor.defaultFormatter": "dbaeumer.vscode-eslint"

 },

 "[javascriptreact]": {

   "editor.defaultFormatter": "dbaeumer.vscode-eslint"

 },

 "[typescript]": {

   "editor.defaultFormatter": "dbaeumer.vscode-eslint"

 },

 "[typescriptreact]": {

   "editor.defaultFormatter": "dbaeumer.vscode-eslint"

 }

}

完善 GraphQL 類型提示

// index.tsx

import React, { FC } from 'react'

// ...

interface PageQuery {

 data: {

   allMarkdownRemark: {

     edges: Array<{

       node: {

         frontmatter: {

           title: string

         }

         excerpt: string

       }

     }>

   }

 }

}


const Home: FC<PageQuery> = ({ data }) => {

 // ...

}


export default Home


export const query = graphql`

 query HomeQuery {

   allMarkdownRemark {

     edges {

       node {

         frontmatter {

           title

         }

         excerpt

       }

     }

   }

 }

`

我們看看index.tsx文件,會發現PropTypes和query結構非常類似,在Gatsby運行時,會把query查詢的結果作為組件prop.data傳入組件,而PropTypes是用來約束prop存在的.所以其實PropTypes就是根據query寫出來的.


如果有依據query自動生成PropTypes的功能就太棒了.

另外一個問題是在query中編寫GraphQL查詢時,并沒有類型約束,也沒有智能提示.


總結以下需要完善的體驗包括:


GraphQL 查詢編寫時的智能提示,以及錯誤檢查

能夠從 GraphQL 查詢生成對應的 TypeScript 類型.這樣能保證類型的唯一事實來源,并消除 TS 中冗余的類型聲明.畢竟如果經常需要手動更新兩處類型,會更容易出錯,而且也并不能保證手動定義類型的正確性.

實現方式:


通過生成架構文件,配合Apollo GraphQL for VS Code插件,實現智能提示,以及錯誤檢查

通過graphql-code-generator或者apollo生成 TS 類型定義文件

如果自己去配置的話,是挺耗費時間的,需要去了解graphql-code-generator的使用,以及Apollo的架構等知識.

不過好在社區中已經有對應的 Gatsby 插件集成了上述工具可以直接使用,能讓我們不用去深究對應知識的情況下,達到優化 GraphQL 編程的體驗.

嘗試過以下兩個插件能解決上述問題,可以任選其一使用


gatsby-plugin-codegen

gatsby-plugin-typegen

另外還有一款插件gatsby-plugin-graphql-codegen也可以生成 TS 類型,不過配置略麻煩,并且上述兩個插件都可以滿足我現在的需求,所以沒有去嘗試,感興趣的可以嘗試一下.


注意點:


Apollo不支持匿名查詢,需要使用命名查詢

第一次生成,需要運行Gatsby之后才能生成類型文件

整個項目內不能有相同命名的查詢,不然會因為名字有沖突而生成失敗

下面是具體操作


安裝vscode-apollo擴展

在 VSCode 中按 Ctrl + P ( MAC 下: Cmd + P) 輸入以下命令,按回車安裝


ext install apollographql.vscode-apollo

方式一: 使用gatsby-plugin-codegen

gatsby-plugin-codegen默認會生成apollo.config.js和schema.json,配合vscode-apollo擴展,可以提供GraphQL的類型約束和智能提示.

另外會自動根據query中的GraphQL查詢,生成 TS 類型,放在對應的tsx文件同級目錄下的__generated__文件夾,使用時只需要引入即可.

如果需要在運行時自動生成 TS 類型,需要添加watch: true配置.


安裝gatsby-plugin-codegen


yarn add gatsby-plugin-codegen

配置gatsby-config.js


// gatsby-config.js

module.exports = {

 plugins: [

   // ...

   {

     resolve: `gatsby-plugin-codegen`,

     options: {

       watch: true,

     },

   },

 ],

}

重新運行開發服務生成類型文件


yarn develop

如果出現以下錯誤,一般是因為沒有為查詢命名的緣故,給查詢添加命名即可,另外配置正確的話,打開對應的文件,有匿名查詢,編輯器會有錯誤提示.


fix-anonymous-operations.png


這個命名之后會作為生成的類型名.


修改index.tsx以使用生成的類型


gatsby-plugin-codegen插件會更具查詢生成對應的查詢名稱的類型,保存在對應tsx文件同級的__generated__目錄下.


import { HomeQuery } from './__generated__/HomeQuery' // 引入自動生成的類型

// ...


// interface PageQuery {

//   data: {

//     allMarkdownRemark: {

//       edges: Array<{

//         node: {

//           frontmatter: {

//             title: string

//           }

//           excerpt: string

//         }

//       }>

//     }

//   }

// }


interface PageQuery {

 data: HomeQuery // 替換之前手寫的類型

}


// ...

將自動生成的文件添加到.gitignore中


apollo.config.js,schema.json,__generated__能通過運行時生成,所以可以添加到.gitignore中,不用提交到 git 中.當然如果有需要也可以選擇提交到 git 中.

# Generated types by gatsby-plugin-codegen

__generated__

apollo.config.js

schema.json

方式二: 使用gatsby-plugin-typegen

gatsby-plugin-typegen通過配置生成gatsby-schema.graphql和gatsby-plugin-documents.graphql配合手動創建的apollo.config.js提供GraphQL的類型約束和智能提示.

根據GraphQL查詢生成gatsby-types.d.ts,生成的類型放在命名空間GatsbyTypes下,使用時通過GatsbyTypes.HomeQueryQuery來引入,HomeQueryQuery是由對應的命名查詢生成


安裝gatsby-plugin-typegen


yarn add gatsby-plugin-typegen

配置


// gatsby-config.js

module.exports = {

 plugins: [

   // ...

   {

     resolve: `gatsby-plugin-typegen`,

     options: {

       outputPath: `src/__generated__/gatsby-types.d.ts`,

       emitSchema: {

         'src/__generated__/gatsby-schema.graphql': true,

       },

       emitPluginDocuments: {

         'src/__generated__/gatsby-plugin-documents.graphql': true,

       },

     },

   },

 ],

}

//apollo.config.js

module.exports = {

 client: {

   tagName: `graphql`,

   includes: [

     `./src/**/*.{ts,tsx}`,

     `./src/__generated__/gatsby-plugin-documents.graphql`,

   ],

   service: {

     name: `GatsbyJS`,

     localSchemaFile: `./src/__generated__/gatsby-schema.graphql`,

   },

 },

}

重新運行開發服務生成類型文件


yarn develop

修改index.tsx以使用生成的類型


gatsby-plugin-codegen插件會更具查詢生成對應的查詢名稱的類型,保存在對應tsx文件同級的__generated__目錄下.


// ...


// interface PageQuery {

//   data: {

//     allMarkdownRemark: {

//       edges: Array<{

//         node: {

//           frontmatter: {

//             title: string

//           }

//           excerpt: string

//         }

//       }>

//     }

//   }

// }


interface PageQuery {

 data: GatsbyTypes.HomeQueryQuery // 替換之前手寫的類型

}


// ...

將自動生成的文件添加到.gitignore中


__generated__能通過運行時生成,所以可以添加到.gitignore中,不用提交到 git 中.當然如果有需要也可以選擇提交到 git 中.

# Generated types by gatsby-plugin-codegen

__generated__

日歷

鏈接

個人資料

藍藍設計的小編 http://www.gerard.com.cn

存檔

主站蜘蛛池模板: 玖玖精品国产 | 亚洲中文字幕无码av在线 | 鸥美一级片 | 在线成年人视频 | 国产成人三级在线播放 | 亚洲黄网在线 | 亚洲国产成人精品女人久久久野战 | 日本特黄网站 | 美女xx00| 福利所导航 | 先锋资源国产 | 亚洲成av | 欧美性tv| 女女les互磨高潮国产精品 | 人人爱国产 | 三级国产网站 | 国产免费av网站 | 91在线一区二区 | 女同性恋毛片 | 岳的好大精品一区二区三区 | 亚洲精品无码av中文字幕电影网站 | 国产日韩欧美视频在线观看 | 天天综合天天添夜夜添狠狠添 | asian日本肉体pics| 国产精品成人一区二区三区夜夜夜 | 亚洲精华国产 | 欧美黄色xxx| 国产91玉足脚交在线播放 | 久久婷婷五月综合97色直播 | 欧美jizzhd精品欧美18 | 欧美裸体女人 | 国产白丝无码免费视频 | 和岳m愉情xxxx国产 | 亚洲婷婷网 | 黑人做爰xxxⅹ性少妇69小说 | 日本aaaaa高潮免费 | 哪里有毛片看 | 天堂躁躁人人躁婷婷视频ⅴ | 国产精品视频久久久久久久 | 熟女毛多熟妇人妻在线视频 | 2021狠狠天天天| 国产精品福利小视频 | 91国模| 91蜜桃婷婷狠狠久久综合9色 | 欧美性感美女二区 | 三浦惠理子aⅴ一二三区 | 成人做爰www网站视频 | 538国产精品一区二区 | 影音先锋在线看片资源 | 深夜久久久 | 欧美日韩国产在线一区 | 山东少妇露脸刺激对白在线 | 欧美成人看片黄a免费看 | 国产大学生粉嫩无套流白浆 | 亚洲 欧洲 无码 在线观看 | 日本啪啪网| 日本精品777777免费视频 | 色综合图区 | 国产精品av久久久久久网址 | 精品无码成人片一区二区98 | 天天操天天摸天天爽 | 综合色导航 | 色欧美片视频在线观看 | 老头老太吃奶xb视频 | 四川丰满少妇毛片新婚之夜 | 国产日产久久高清欧美 | 免费看涩涩视频软件 | 国产精品美女www爽爽爽软件 | 亚洲欧美成人中文日韩电影网站 | 久久精品国产亚洲精品2020 | 久热中文字幕在线精品观 | 日本黄a| 人人干人人爽 | 中文字幕在线成人 | 一区二区三区不卡视频 | 国产超碰人人模人人爽人人添 | 日韩精品专区 | 无码人妻丰满熟妇区bbbbxxxx | 免费观看又污又黄的网站 | 日日碰狠狠躁久久躁2023 | 中文在线字幕观 | 自拍偷拍激情 | 国产偷窥盗摄一区二区 | 性xxxxx大片做受免费视 | 欧美成人午夜激情 | 亚洲欧洲巨乳清纯 | 日韩精品在线免费看 | 成人免费看毛片 | 九九福利视频 | 人人妻人人插视频 | 亚洲 欧美 日韩在线 | 国产一级特黄,真人毛片 | 91国产视频在线 | 日韩大片免费在线观看 | 牲欲强的熟妇农村老妇女视频 | 国产 日韩 一区 | 首页干日本少妇 | 那里有毛片看 | 国产小视频免费在线观看 | 国产精品理人伦一区二区三区 | 欧美一区二区三区啪啪 | 自拍偷拍2019| 强行挺进熟睡少妇av | 精品一区二区三区不卡 | 国产乱码一区二区三区 | 日本一区二区三区免费高清 | 四虎综合网 | 精品香蕉久久久午夜福利 | 国产黄色片免费 | 爱情岛论坛首页永久入口 | 亚洲精品蜜桃久久久久久 | 欧美福利影院 | av小说在线观看 | 国产强被迫伦姧在线观看无码 | 99精品免费在线观看 | 国产精品久久久亚洲 | 无套在线观看 | 国产白嫩受无套呻吟 | 亚洲国产免费 | 中日韩精品在线 | 香蕉97超级碰碰碰免费公开 | 九九久久久 | 神马久久午夜 | 天天做天天爱 | 国产成人无码一区二区在线播放 | 一区二区日韩欧美 | 超碰青草| 无码熟妇人妻av在线影片 | 人人干人人模 | 毛片免费全部无码播放 | 一边cao一边粗话打奶视频 | 亚洲小说图区综合在线 | 久久精品国产一区二区三区肥胖 | 国产精品露脸视频 | 美妇av| 俺来也俺来啦awww官网 | 好吊妞视频788gao在线观看 | 亚洲图片欧美另类 | 国产色网址 | 在线视频午夜 | 日本大乳高潮视频在线观看 | 国产精品毛片a∨一区二区三区 | 法国极品成人h版 | 国产中文在线观看 | 色婷婷美国农夫综合激情亚洲 | 亚洲 国产 韩国 欧美 在线 | 久久精品成人热国产成 | 人妻少妇精品久久久久久 | 一区二区三区中文字幕 | 欧美孕妇孕交黑巨大网站 | 4438ⅹ亚洲全国最大色丁香 | 山东熟女啪啪哦哦叫 | 亚洲综合首页 | 俄罗斯乱妇| 国产精品女同一区二区软件 | 欧美激情小视频 | 久久男人| 中文天堂最新版在线www | 五月天婷婷综合网 | 一级黄色大片免费看 | 三级黄色免费网站 | 麻豆视频国产精品 | 亚洲综合色自拍一区 | videossex性糟蹋月经 | 国产自偷自偷免费一区 | 136av福利视频导航入口 | 中文无码人妻有码人妻中文字幕 | 国产又粗又长又黄视频 | 国产精品一区一区 | 国产欧美在线一区二区三区 | 国产伦精品一区二区三区视频孕妇 | 91精品国产91久久久久久久久久久久 | 在线亚洲天堂 | 香蕉私人影院 | 日韩精品一卡二卡 | 欧美一区二区三区爽爽爽 | 国产亚洲精品久久久456 | 国产久久精品 | 国产精品人八做人人女人a级刘 | 色综合天天 | h色视频在线观看 | 亚洲丁香花色 | 在线成人国产 | 成人18视频日本 | 成人午夜在线观看 | 日韩精品亚洲一区 | 女同理伦片在线观看禁男之园 | 久久久国产精品久久久 | 我要看黄色1级片 | 国产一线二线三线wwww | 国产成年妇视频 | 少妇理论片 | 日日射天天干 | 久久中文精品无码中文字幕下载 | 欧美成人精品一级乱黄 | 国产妇女视频 | 国产51精品入口豆花 | 国产乱码久久久久 | 懂色av蜜臂av粉嫩av | 无遮挡国产高潮视频免费观看 | 欧美一极片 | jizz 亚洲大全 | 亚洲精品久| 99国产精品国产精品九九 | 免费看男女www网站入口在线 | xxx在线播放xxx | 一级性爱视频 | 欧美激情一区二区三区视频 | 朝鲜女人性猛交 | 毛片网站有哪些 | 亚洲中文无码av永久 | 欧美特级aaa | 日韩另类片 | 久久白浆 | 男女涩涩视频 | 亚洲欧美视频一区 | 欧美日韩亚洲激情 | 人人爽久久久噜噜噜婷婷 | 久久频 | 婷婷午夜精品久久久久久性色av | 色综合天天网 | 丁香激情婷婷 | 中文字幕免费一区二区 | 日本伦理一区 | 偷拍激情视频一区二区三区 | 免费在线观看不卡av | 极品白嫩的小少妇avove | 精品国产91久久久久久久 | 国产又色又爽无遮挡免费动态图 | 国产九一精品 | 国产99视频精品免视看芒果 | 亚洲精品乱码久久久久久不卡 | 日韩久久一级片 | 亚洲国产精品成人久久 | 裸露双乳挤奶无遮掩裸体网站 | 无码中文字幕人妻在线一区二区三区 | 国产操操操| 亚洲视频二 | 天堂在线一区 | 不卡的av网站 | 136av福利视频导航 | 狠狠躁天天躁综合网 | 美女自卫慰免费视频www免费 | 国产 日韩 一区 | 免费麻豆国产一区二区三区四区 | 日韩在线一卡二卡 | 91手机在线观看 | 超碰在线一区 | 嫩草福利视频精品一区二区三区 | 色激情网| 欧美性一区二区三区 | 国产特级av| 91天天看| 草比网站 | 综合色亚洲 | 农村少妇吞精夜夜爽视频 | 久草免费av | 国产人妻精品一区二区三区不卡 | 久久久免费毛片 | 日韩精品一区在线观看 | 午夜免费观看视频 | 一本无码av中文出轨人妻 | 国产亚洲小视频 | 伊人国产在线观看 | 国产精品视频久久久久 | 亚洲乱码国产乱码精品精98午夜 | 亚洲乱妇老熟女爽到高潮的片 | 国产精品久久久久久模特 | 国产精品永久免费 | a天堂中文在线观看 | 国产精品高潮久久久久 | 东京热一区二区三区无码视频 | 成人黄色免费网址 | 91亚洲国产精品 | 国产黄a三级三级三级 | 日本韩国欧美 | 久久亚洲精品中文字幕 | 中文字幕一区av | 3344久久日韩精品一区二区 | 清纯唯美一区二区三区 | 白人と日本人の交わりビデオ | 欧美精品偷自拍另类在线观看 | 少妇被多人c夜夜爽爽 | 久久久久久亚洲精品不卡4k岛国 | 亚洲午夜精品一区二区 | 亚洲欧洲精品一区二区三区不卡 | 精品国产亚洲第一区二区三区 | 极品尤物一区二区 | 亚洲欧美综合精品久久成人 | 99在线观看精品视频 | 国产主播99| 夜夜躁很很躁日日躁麻豆 | 无人在线观看免费高清视频的优势 | 亚洲精品欧洲精品 | 日本a级在线| 成人交配视频 | 国产精品久久久久野外 | 欧美日韩免费高清一区色橹橹 | 九九九九九九精品任你躁 | 成人在线手机版视频 | 久久大胆人体 | 人妻丰满熟妇无码区免费 | 最色网站 | 国产精品国产三级国快看 | 无遮挡啪啪摇乳动态图gif | 久久久久女 | 日本中国内射bbxx | 久久精品水蜜桃av综合天堂 | 欧美日韩偷拍视频 | 伊人丁香 | 自拍偷拍亚洲视频 | h在线免费观看 | 欧美高清在线精品一区 | 亚洲第一大网站 | 国产日本在线观看 | 精品剧情v国产在线观看 | 中文字幕5566| 免费欧美一级视频 | 国产黄大片在线观看画质优化 | 亚洲加勒比久久88色综合 | 国内精品免费午夜又爽又色愉情 | 在线不卡免费av | 中文字幕乱码一区av久久不卡 | 国产a∨精品一区二区三区不卡 | 黄频网站在线观看 | 久久久久久久女国产乱让韩 | 天天干夜夜添 | 国内精品国产三级国产在线专 | 伊在线视频 | 天天草av| 丰满大乳国产精品 | 麻花豆传媒剧国产免费mv在线 | 北条麻妃一对7黑人mv | 一本色道久久综合无码人妻 | 成人精品在线播放 | 国产精品一二三四 | 一级做a爱片性色毛片 | 国产网友自拍视频 | 蜜乳av一区二区 | 国产性生交xxxxx免费 | 亚洲女同另类 | 亚洲精品无amm毛片 亚洲精品无码成人aaa片 | 美国黄色av| 波多野结衣视频播放 | 国产精品igao视频网网址 | 伊人影院中文字幕 | 亚洲一区二区高潮无套美女 | 伊人成年网站综合网 | 国产精品久久无码一区二区三区网 | 中文字幕不卡在线 | 黄色大片网站在线观看 | 尤物网站在线 | av在线免费观看不卡 | 国产拍揄自揄精品视频麻豆 | 亚洲人成人网站在线观看 | 国产黄a三级三级三级看三级黑人 | 蒂法3d一区二区三区 | 久久精品国产99久久99久久久 | 又爽又大久久久级淫片毛片 | 国产a级黄色毛片 | 亚洲成人第一网站 | 黄色男人的天堂 | 播放黄色| 91国产视频在线观看 | 不卡在线 | 青青草在线免费 | 午夜激情视频免费观看 | 亚洲国产va | 99精品中文字幕 | 亚洲一区二区不卡在线观看 | 黑人借宿巨大中文字幕 | 青青青视频在线 | 性欧美videos高清hd4k | 在线观看av片 | 色站综合 | 亚洲精品国产品国语在线观看 | 视频久久精品 | 人成午夜大片免费视频 | 日韩激情综合 | 无码国产精品一区二区免费式直播 | 国产精品破处 | 国产日韩在线免费观看 | 久草热久草在线 | av图区| 亚洲精品乱码久久久久久写真 | 另类激情文学 | 九九九久久久久久 | 国内精品久久久久久久久电影网 | 久久久久av无码免费网 | 99性趣网 | 污片免费看 | 欧美大成色www永久网站婷 | 午夜免费看 | 成人亚洲综合av天堂 | 国产精品无码av在线播放 | 国产98在线 | 欧美 | 中文字幕在线播放第一页 | 美女网站全黄 | 欧美精品人人做人人爱视频 | 免费理伦片在线播放网站 | 筱田优全部av免费观看 | www.youjizz.com在线 | 涩涩视频网站在线观看 | 日韩激情网站 | 日韩一区二区在线观看视频 | 51久久成人国产精品麻豆 | 中文字幕一区二区免费 | 青草影院内射中出高潮 | 天堂久久爱资源站www | 中文字幕乱码一区av久久不卡 | 欧美疯狂xxxxbbbb喷潮 | 国产这里只有精品 | 中文字幕一区二区三区四区五区 | 午夜精品在线播放 | 中文字幕无码视频专区 | 黄色片网站免费观看 | 久久亚洲私人国产精品 | 国产成人综合精品无码 | 欧美精品一区二区蜜臀亚洲 | 一区二区三区在线免费 | 极品美女销魂一区二区三区 | 国产a精品| 欧美激情图片 | 在线黄色毛片 | 777米奇色狠狠888俺也去乱 | 精品三级在线观看 | 九色琪琪久久综合网天天 | 国产精品国产三级国产传播 | 久久综合给合久久狠狠狠色97 | 性色av一区二区三区无码 | www视频免费在线观看 | 国产视频二区三区 | 国产偷人爽久久久久久老妇app | 青青艹视频在线 | 精品一区二区三人妻视频 | 九色porny丨首页入口在线 | 乱中年女人伦av | youjizz.com日本 | 一级a性色生活片久久毛片 一级a性色生活片久久毛片明星 | 99国产精品视频免费观看一公开 | av网在线 | 国产精品日本一区二区不卡视频 | 免费在线看黄网址 | 国产欧美精品aaaaaa片 | 欧美日韩国产精品 | 66av99精品福利视频在线 | 性欧美激情 | 精品国产乱码久久久久乱码 | 婷婷久久一区二区三区 | 好吊妞视频在线 | 亚洲综合图色40p | 国产免费大片 | 中文久久字幕 | 美女内射毛片在线看3d | 男人和女人高潮免费网站 | jizz日本视频 | 亚洲人成人一区二区在线观看 | 日韩欧美精品久久 | 亚洲精品毛片一级91精品 | 欧美成人黑人xx视频免费观看 | 国产性猛交╳xxx乱大交 | 国产精品爽爽爽爽爽爽在线观看 | 蜜乳av 懂色av 粉嫩av | 精品国模一区二区三区 | 伊人久久大香线蕉av一区 | 蜜臀久久99精品久久久久久宅男 | 亚洲一级av毛片 | 日日噜狠狠噜天天噜av | 久久久久久久亚洲精品 | 一本之道之高码清乱码加勒比 | 久久久亚洲国产天美传媒修理工 | 国产三级中文字幕 | 欧美成人一区二区三区片免费 | 草比视频在线观看 | 精品久久国产字幕高潮 | 国产黄色在线免费观看 | 国精产品999一区二区三区有 | 337p日本欧洲亚洲大胆 | hitomi一区二区三区精品 | 狠狠色依依成人婷婷九月 | 欧美一区二区三区免费在线观看 | 日产精品久久久一区二区 | 色老头在线一区二区三区 | 刘亦菲毛片一区二区三区 | 黑人巨大精品欧美一区免费视频 | 免费网站看av | 99久久无色码中文字幕人妻 | 亚洲第一成人在线 | 黄色国产一区 | 女仆裸体打屁屁羞羞免费 | 久久久亚洲天堂 | 91大神视频在线播放 | 久久一区二区三区四区 | 亚洲乱仑| 亚洲乱码中文字幕综合 | 欧美三日本三级少妇三级99观看视频 | 天堂а√在线中文在线 | 91社区福利| 无遮挡国产高潮视频免费观看 | 久久精品国产成人av | 国产又嫩又黄又猛视频在线观看 | 老太婆性杂交欧美肥老太 | 国产综合精品一区二区三区 | 国产精久久久久 | 午夜国产一级 | 91免费福利 | 天天噜噜噜在线视频 | 日韩成人极品在线内射3p蜜臀 | 国语对白一区二区 | 免费一级做a爰片久久毛片潮喷 | 国产熟妇高潮叫床视频播放 | 亚洲最大黄色 | 免费一级日韩欧美性大片 | 日美女网站 | 好吊色欧美一区二区三区视频 | 狠狠干免费视频 | 久久久www成人免费精品张筱雨 | 色偷偷人人澡人人爽人人模 | 久久2019| 韩国三级中文字幕hd久久精品 | 亚洲女同志亚洲女同女播放 | 国产一级免费看 | 天天摸天天干 | 亚洲无线码在线一区观看 | 极品尤物一区二区三区 | 久草在线新时代的视觉体验 | 看一级大片 | 亚洲一区二区三区无码国产 | 极品白嫩丰满少妇无套 | www.香蕉视频.com | 中文文字幕文字幕高清 | 白丝久久| 邻居少妇与水电工啪啪 | 日韩精品一区二区三区中文无码 | 日本在线视频www | 色婷婷麻豆 | 精品国产91久久久久 | 日韩美女黄色 | 亚洲日韩在线观看免费视频 | 亚欧在线高清专区 | 亚洲欧美中文日韩在线v日本 | 久久国产精品99精品国产 | 五月天激情国产综合婷婷婷 | 成人在线观看www | 欧美无砖区 | 欧美大片aaaaa免费观看 | 国产又滑又嫩又白 | 色欲色香天天天综合网www | 久久久久国产一区二区三区 | 女教师少妇高潮免费 | 中国亚州女人69内射少妇 | 国产一区二区三区撒尿在线 | 亚洲国产精品99久久久久久久久 | 久久中文字幕在线观看 | 日本无码人妻精品一区二区蜜桃 | 蜜桃视频一区二区三区在线观看 | 黄色大片aa | 91麻豆精品国产自产在线观看一区 | 欧美午夜大片 | 无套日出白浆 | 美女扒开尿口让男人桶 | av污在线观看 | 一级黄色片一级黄色片 | 国产精品婷婷久久爽一下 | 狠狠狠色丁香婷婷综合久久五月 | 综合网在线 | 亚洲国产精彩中文乱码av | 狠狠色狠狠色合久久伊人 | 日本理伦片午夜理伦片 | 少妇性做爰xxxⅹ性视频 | 国产激情美女久久久久久吹潮 | 亚洲欧美强伦一区二区 | 久操视频精品 | 成人黄色片网站 | 色优久久 | 国产av综合第一页 | 51av视频| 欧美精品另类 | 欧美剧场 | 国产精品久久久久久久裸模 | 中文字幕乱码亚洲无线三区 | 夜夜精品无码一区二区三区 | 中文字幕一区二区av | 久久成人国产精品 | 午夜在线视频一区二区区别 | 久久精品国产一区二区三区不卡 | 天天操天天操天天操天天操 | 夜夜艹 | 中文字幕在线观看日韩 | www嫩草com| 操天天| 精品视频一区二区三区在线观看 | 丰满大肥婆肥奶大屁股 | 成a人片亚洲日本久久 | 亚洲 成人 av | yellow免费在线观看 | 成人禁污污啪啪入口 | 国产色网址 | 99久久99久久精品 | 九色视频偷拍少妇的秘密 | 无码人妻av一区二区三区波多野 | 老师粉嫩小泬喷水视频90 | 综合色播 | 99视频在线精品免费观看2 | 欧美亚洲大片 | 天天草比 | 国产一二三区写真福利视频 | 亚洲一区二区三区中文字幕 | 亚洲无人区一区二区三区 | 欧美操日韩 | 国产精品av久久久久久久久久 | 日韩黄| 国产麻豆网| 国产精品久久久久久久久久白浆 | 欧美黄色大片免费观看 |