精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Vue服務(wù)器端渲染nuxt.js初探

開發(fā) 前端
前端vue項(xiàng)目, 需要將新增的幾個(gè)路由頁面做seo處理。在調(diào)研 插件 prerender-spa-plugin后,發(fā)現(xiàn)無法滿足 vuex 以及 plugins 等要求時(shí),果斷選用了 nuxt.js做服務(wù)器渲染。

開頭還是來一段廢話: 年關(guān)將近,給大家拜個(gè)早年,愿大家年會(huì)都能抽大獎(jiǎng),來年行大運(yùn)。

廢話不多說,直接進(jìn)正文。

項(xiàng)目環(huán)境:

前端vue項(xiàng)目, 需要將新增的幾個(gè)路由頁面做seo處理。

在調(diào)研 插件 prerender-spa-plugin后,發(fā)現(xiàn)無法滿足 vuex 以及 plugins 等要求時(shí),果斷選用了 nuxt.js做服務(wù)器渲染。

下面是在項(xiàng)目中整理的 文檔 和 問題

nuxt.js 是一個(gè)基于 Vue.js 的通用應(yīng)用框架

它預(yù)設(shè)了利用 Vue.js 開發(fā) 服務(wù)端渲染(SSR, Server Side Render) 的應(yīng)用所需要的各種配置,同時(shí)也可以一鍵生成靜態(tài)站點(diǎn)。

值得一提的是,nuxt是基于node.js的,后端如果是其他語言時(shí),是否考慮到再加一層node.js的合理性。

鏈接地址: https://zh.nuxtjs.org/guide/installation

利用npx腳手架創(chuàng)建項(xiàng)目

鏈接地址: https://zh.nuxtjs.org/guide/installation

會(huì)提供以下選項(xiàng)

1. 在集成的服務(wù)器端框架之間進(jìn)行選擇: Express / Koa ...

2. 選擇您喜歡的UI框架: Bootstrap / Element UI ...

3. 選擇你想要的Nuxt模式 (Universal or SPA) 普通類型 / 單頁應(yīng)用

4. 添加 axios module 以輕松地將HTTP請(qǐng)求發(fā)送到您的應(yīng)用程序中。

5. 添加 EsLint 以在保存時(shí)代碼規(guī)范和錯(cuò)誤檢查您的代碼。

6. 添加 Prettier 以在保存時(shí)格式化/美化您的代碼。

注意:

1. 如果項(xiàng)目自帶分支等git信息時(shí), 需要將npx生產(chǎn)的目錄里面隱藏的git 文件刪除

因?yàn)閚px生成文件時(shí),默認(rèn)為master 分支,類似于 gitmodule 子分支性質(zhì)

2. 其中第3點(diǎn),選擇 Universal 時(shí) 才會(huì)默認(rèn)輸出靜態(tài)頁,也就是能夠seo的,當(dāng)選擇spa時(shí),則無法seo

可修改 nuxt.config.js 中的配置項(xiàng) mode: 'Universal' 來定義類型

啟動(dòng)項(xiàng)目

命令: npm run dev 默認(rèn)命令

這時(shí)會(huì)報(bào)錯(cuò),說未指定ip 什么的,需配置項(xiàng):

nuxt.config.js 中:

  1. server: {  
  2. // port: '3000', // 定義 輸出端口 ,默認(rèn)為3000  
  3. host:'0.0.0.0' // 定義 輸出 ip  
  4. },  

注意:

在server 目錄中國(guó)的index.js中 會(huì)讀取 nuxt.config.js 中的配置項(xiàng),當(dāng)不存在時(shí)會(huì)賦值默認(rèn)值 

  1. const {  
  2. host = process.env.HOST || '127.0.0.1' 
  3. port = process.env.PORT || 3000 // 默認(rèn)配置條件下,修改此處無效 仍舊為3000端口  
  4. } = nuxt.options.server  

頁面上的注意點(diǎn)有:

css 都默認(rèn)加載到 頁面上了;

處理方式有2種:

1. 在 nuxt.config.js 文件 header 配置 link 外鏈這些公共樣式 (下面有具體說明)

2. 在 nuxt.config.js 文件 build 配置 中 自定義文件路徑 以及hash值 (下面有具體說明)

項(xiàng)目目錄結(jié)構(gòu)

1. 資源目錄 (assets)

用于組織未編譯的靜態(tài)資源如 LESS、SASS 或 JavaScript。

2. 組件目錄 (components)

用于組織應(yīng)用的 Vue.js 組件。Nuxt.js 不會(huì)擴(kuò)展增強(qiáng)該目錄下 Vue.js 組件,

即這些組件不會(huì)像頁面組件那樣有 asyncData 方法的特性。

3. 布局目錄 (layouts) 該目錄名為Nuxt.js保留的,不可更改。

用于組織應(yīng)用的布局組件。

4. 中間件目錄 (middleware)

目錄用于存放應(yīng)用的中間件

文件名的名稱將成為中間件名稱(middleware/auth.js將成為 auth 中間件)。

一個(gè)中間件接收 context 作為第一個(gè)參數(shù):

具體參考: https://zh.nuxtjs.org/guide/routing#中間件

5. 頁面目錄 (page) 該目錄名為Nuxt.js保留的,不可更改。

用于組織應(yīng)用的路由及視圖。Nuxt.js 框架讀取該目錄下所有的 .vue 文件并自動(dòng)生成對(duì)應(yīng)的路由配置。

nuxt 會(huì)根據(jù)文件夾名稱以及目錄結(jié)構(gòu)動(dòng)態(tài)生產(chǎn) router, 無需額外配置。

6. 靜態(tài)文件目錄 (static)

用于存放應(yīng)用的靜態(tài)文件,此類文件不會(huì)被 Nuxt.js 調(diào)用 Webpack 進(jìn)行構(gòu)建編譯處理。

服務(wù)器啟動(dòng)的時(shí)候,該目錄下的文件會(huì)映射至應(yīng)用的根路徑 / 下。

一般用于 放置公共css,以及 js 文件, 但是如果不想這些css和js走根目錄的話,

需要將這些css放置到 assets中,然后在 nuxt.config.js中 配置 build 選項(xiàng) 下面會(huì)具體說明

7. Store 目錄

用于組織應(yīng)用的 Vuex 狀態(tài)樹 文件

注意: 普通的spa 項(xiàng)目中拋出一個(gè)實(shí)例對(duì)象即可, store為:

  1. export default new Vuex.Store({  
  2. actions,  
  3. getters,  
  4. })  

這里則需要拋出一個(gè) 實(shí)例函數(shù)對(duì)象:

  1. const store = () => {  
  2. return new Vuex.Store({  
  3. state,  
  4. getters,  
  5. mutations,  
  6. actions  
  7. })  
  8.  
  9. export default store  

8. nuxt.config.js

用于組織Nuxt.js 應(yīng)用的個(gè)性化配置,以便覆蓋默認(rèn)配置。

9. package.json

省略...

別名

~ 或 @ // src目錄

~~ 或 @@ // 根目錄

默認(rèn)情況下,src目錄和根目錄相同

頁面間路由的跳轉(zhuǎn)

要在頁面之間使用路由,建議使用 標(biāo)簽。

js 中仍然可以使用 $router.push 等方法。

路由跳轉(zhuǎn)時(shí)的頁面間過渡效果

Nuxt.js 默認(rèn)使用的過渡效果名稱為 page。

需要在 assets/目錄下創(chuàng)建 main.css 添加全局樣式。

  1. .page-enter-active, .page-leave-active {  
  2. transition: opacity .5s;  
  3.  
  4. .page-enter, .page-leave-active {  
  5. opacity: 0;  
  6.  

然后添加到 nuxt.config.js 文件中: 

  1. module.exports = {  
  2. css: [  
  3. 'assets/main.css'  
  4. ],  
  5. loading: { color: '#2152F3' },  
  6.  

更多過渡效果: https://zh.nuxtjs.org/guide/routing#過渡動(dòng)效

頭部信息 (Meta 標(biāo)簽 ,全局樣式)

nuxt.config.js 里定義應(yīng)用所需的所有默認(rèn) meta 標(biāo)簽 

  1. head: {  
  2. meta: [  
  3. { charset: 'utf-8' },  
  4. name'viewport', content: 'width=device-width, initial-scale=1' }  
  5. { hid: 'description'name'description', content: '' }  
  6. ],  
  7. link: [ // 這里可以引用全局的樣式,但是會(huì)默認(rèn)走根目錄  
  8. { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Roboto' }  
  9. { rel: 'stylesheet', href: '~/static/common.js' } // 文件一般都放在static目錄下  
  10.  
  11.  

具體參考:https://zh.nuxtjs.org/api/configuration-head

異步數(shù)據(jù) (asyncData方法,限于page頁面組件,components中不適用)

這里包括 asyncData鉤子 / fetch 鉤子 / 。。。

【fetch】 用于在渲染頁面前填充應(yīng)用的狀態(tài)樹(store)數(shù)據(jù), 與 asyncData 方法類似,不同的是它不會(huì)設(shè)置組件的數(shù)據(jù)

【asyncData】 主要用于請(qǐng)求ajax 填充data中的數(shù)據(jù)

每次加載之前被調(diào)用。它可以在服務(wù)端或路由更新之前被調(diào)用。 

  1. asyncData ({ params }) {  
  2. return axios.get(`https://my-api/posts/${params.id}`) 
  3. .then((res) => {  
  4. // 賦值給頁面 data中的數(shù)據(jù)  
  5. return { title: res.data.title }  
  6. })  
  7.  

或者變換為同步請(qǐng)求:

  1. async asyncData() {  
  2. let formData = {}  
  3. let ajaxData = await axios({  
  4. method: "post" 
  5. url: url,  
  6. data: qs.stringify(formData),  
  7. retryDelay : 1000,  
  8. withCredentials : true 
  9. responseType : 'json' 
  10. timeout : 60000,  
  11. 'Content-Type' : 'application/x-www-form-urlencoded'  
  12. })  
  13.  

注意添加 catch

注意:

這個(gè)異步請(qǐng)求函數(shù), 第一次執(zhí)行環(huán)境為node環(huán)境中,也就是服務(wù)器端,后續(xù)刷新頁面則執(zhí)行環(huán)境為client 客戶端

本地開發(fā)時(shí),如果在客戶端直接請(qǐng)求完整路徑時(shí)會(huì)經(jīng)常遇到跨域問題,所以需要在 asyncData 中區(qū)分環(huán)境變量

process.env.VUE_ENV 區(qū)分 是server 還是 client

然后根據(jù)不同的環(huán)境配置不同的 url , 并且在 client時(shí), 需要做服務(wù)器端代理請(qǐng)求,需要給url增加一層代理標(biāo)識(shí)

例如:client環(huán)境中 

  1. url = '/api' + '/get-user-info' 
  2. nuxt.config.js 中  
  3. /*  
  4. ** 處理代理跨域問題  
  5. */  
  6. axios: {  
  7. proxy: true 
  8. prefix: '/api', // 增加請(qǐng)求標(biāo)識(shí)  
  9. credentials: true 
  10. },  
  11. proxy: {  
  12. '/api': {  
  13. // 代理地址  
  14. target: (process.env.NODE_ENV == 'production') ?'http://test.' : 'http://www.' ,  
  15. changeOrigin: true 
  16. pathRewrite: {  
  17. '^/api''' // 將標(biāo)識(shí) 替換為 ‘’  
  18. },  
  19. },  
  20.  

錯(cuò)誤處理 :

context中提供了一個(gè) error(params) 方法,你可以通過調(diào)用該方法來顯示錯(cuò)誤信息頁面。

params.statusCode 可用于指定服務(wù)端返回的請(qǐng)求狀態(tài)碼。 

  1. asyncData ({ params, error }) {  
  2. return axios.get(`https://my-api/posts/${params.id}`)  
  3. .then((res) => {  
  4. return { title: res.data.title }  
  5. })  
  6. .catch((e) => {  
  7. error({ statusCode: 404, message: 'Post not found' })  
  8. })  
  9.  

第三方插件的使用

例如:element-ui

需要在 plugins/ 中 添加 element-ui.js 

  1. import Vue from 'vue'  
  2. import Element from 'element-ui/lib/element-ui.common'  
  3. import locale from 'element-ui/lib/locale/lang/en'  
  4. export default () => {  
  5. Vue.use(Element, { locale })  
  6.  

在 uuxt.config.js 中 

  1. plugins: [  
  2. "~/plugins/element-ui" 
  3. // {src : '~/plugins/ga.js' , ssr : false} 是否做ssr處理, false時(shí)為在客戶端才加載  
  4. ],  

這樣全局就可以使用了

注意:

在使用第三方插件時(shí)需要注意 插件內(nèi)部很多地方都會(huì)用到window對(duì)象,在服務(wù)端會(huì)報(bào)錯(cuò),所以需要將ssr設(shè)置為false

在生產(chǎn)環(huán)境中, 有一些插件,在多個(gè)頁面中引用,這樣會(huì)造成多次加載打包的現(xiàn)象

所以: 在 build配置項(xiàng)中增加配置 

  1. build: {  
  2. vendor:['axios''qs'], // 防止多次打包  
  3.  

page 函數(shù)鉤子生命周期 以及window 對(duì)象

經(jīng)常會(huì)在 第三方組件或者調(diào)用的時(shí)候 遇到window對(duì)象報(bào)錯(cuò)問題。

  1. asyncData() {  
  2. console.log(window) // 服務(wù)端報(bào)錯(cuò)  
  3. console.log(this) // undefined  
  4. },  
  5. fetch() {  
  6. console.log(window) // 服務(wù)端報(bào)錯(cuò)  
  7. },  
  8. created () {  
  9. console.log(window) // undefined  
  10. },  
  11. mounted () {  
  12. console.log(window) // Window {postMessage: ƒ, blur: ƒ, focus: ƒ, close: ƒ, frames: Window, …}  
  13.  

css js 文件打包文件夾處理

在 uuxt.config.js 中,只需配置生產(chǎn)環(huán)境中。

  1. build: {  
  2. extractCSS: { allChunks: true }, // css 獨(dú)立打包 link 的形式加載  
  3. publicPath: '/sample/assets/', //sample/essays 打包的默認(rèn)路徑為 ‘_nuxt’ 或者可以指定cdn 域名  
  4. filenames:{ // css 和 js img 打包時(shí)指定文件夾  
  5. app: ({ isDev }) => isDev ? '[name].js' : '[chunkhash].js' 
  6. chunk: ({ isDev }) => isDev ? '[name].js' : '[chunkhash].js' 
  7. css: ({ isDev }) => isDev ? '[name].js' : '[contenthash].css' 
  8. img: ({ isDev }) => isDev ? '[path][name].[ext]' : '[hash:7].[ext]'  
  9.  
  10. },  

輸出 css link 路徑: /sample/essays/[contenthash].css

注意: 靜態(tài)資源文件路徑名 不能和頁面路由名稱相同 publicPath 默認(rèn)配置 '/' 無效

部署

先 npm run build 打包 client文件和 server 文件。

然后 npm runb start 啟動(dòng)服務(wù)器。

pm2 管理:

  1. pm2 start npm --name "my-nuxt" -- run start 

部署時(shí) 需要注意 如果是 從其他地方重定向 到 nuxt 環(huán)境中的頁面是, 需要額外配置一個(gè) css / js 重定向路由,并且需要注意 header頭部信息,防止出現(xiàn) css 文件返回頭部信息為 Content-Type text/plain。

目前項(xiàng)目中只運(yùn)用到這么多,后續(xù)項(xiàng)目遷移時(shí)遇到更多的問題會(huì)做補(bǔ)充,如果大家遇到過其他的坑點(diǎn)可以在下面評(píng)論中總結(jié)出來以及解決方案。

責(zé)任編輯:龐桂玉 來源: segmentfault
相關(guān)推薦

2020-04-14 12:53:01

Nuxt.jsVue.js前端

2021-04-30 09:32:38

服務(wù)端渲染SSR

2023-07-26 10:21:26

服務(wù)端組件客戶端

2024-02-22 13:47:40

2009-02-16 16:30:23

OperaTurbo服務(wù)器

2023-01-26 00:56:41

Nuxt.js存儲(chǔ)庫(kù)開發(fā)

2023-06-14 20:58:05

2023-08-24 16:54:05

2011-07-26 11:07:08

JavaScript

2021-09-02 10:49:25

Node.jsPHP服務(wù)器開發(fā)

2012-10-15 13:40:15

IBMdw

2014-01-15 10:06:30

vFlash

2011-09-08 10:21:50

Node.js

2014-11-14 11:03:56

微軟.NET

2023-06-30 08:00:00

漏洞網(wǎng)絡(luò)安全SSTI

2017-12-06 22:29:53

2015-11-04 14:14:56

HTTP網(wǎng)絡(luò)協(xié)議

2011-06-07 16:01:46

Android 服務(wù)器 數(shù)據(jù)交互

2013-12-25 11:01:16

JavaScript

2021-07-27 06:14:32

服務(wù)器端移動(dòng)端性能測(cè)試
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

手机在线成人免费视频| 日韩专区在线视频| 不卡av电影在线播放| 亚洲人成电影网站色www| **亚洲第一综合导航网站| 性欧美成人播放77777| www.欧美日本韩国| 精品国产一区二区三区四区| 亚洲综合视频在线观看| 国产在线高清精品| 久久久久久久久久久久| 看黄在线观看| 成人妖精视频yjsp地址| 久久国产精品99国产精| 亚洲精品20p| av网站在线免费观看| 一区二区国产在线观看| 日韩三级精品电影久久久| 亚洲伊人婷婷| 一本一道人人妻人人妻αv| 国产精品片aa在线观看| 狠狠躁18三区二区一区| 国产亚洲一区在线播放| 九九视频在线观看| 51亚洲精品| 一区二区三区鲁丝不卡| 欧美一区二区三区电影在线观看| 欧美三级韩国三级日本三斤在线观看 | 韩国av一区二区三区在线观看| 亚洲精品在线不卡| 各处沟厕大尺度偷拍女厕嘘嘘| 日本高清视频免费观看| 亚洲精品1区2区| 日韩激情在线视频| 日本成人在线免费视频| 永久免费av在线| 久久超碰97人人做人人爱| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 国产福利一区二区三区在线播放| 国产欧美一区二区精品婷婷| 国产精品一久久香蕉国产线看观看| 九九九视频在线观看| 久久人体av| 亚洲精品乱码久久久久久久久| 99www免费人成精品| 永久免费看片在线播放| 欧美精品激情| 亚洲区免费影片| 国产老熟女伦老熟妇露脸| 深夜福利视频一区二区| 亚洲成人在线网站| 久久伊人资源站| 中文字幕欧美在线观看| 午夜精彩国产免费不卡不顿大片| 亚洲国产精品一区二区三区| 不要播放器的av网站| xxxx成人| 国产精品麻豆久久久| www.久久艹| 99热这里只有精品99| 国产欧美精品久久| 久久精品中文字幕免费mv| 手机免费看av片| 日韩色淫视频| 亚洲一区电影777| 日本高清久久一区二区三区| 深夜福利视频在线免费观看| 亚洲精品123区| 久久久久久久电影一区| 免费成人深夜天涯网站| 清纯唯美日韩| 亚洲精品福利在线| 真人bbbbbbbbb毛片| 亚洲制服欧美另类| 欧美一级欧美三级| 日本精品一二三| 成人影院在线免费观看| 欧美日韩综合色| 无码人妻精品一区二区三区在线 | 亚洲你懂的在线视频| 精品国产乱码久久久久久郑州公司 | 免费看91的网站| 成人爽a毛片免费啪啪红桃视频| 91久久精品一区二区三区| 久久久天堂国产精品| 超碰免费97在线观看| 99久久99久久精品免费观看| 成人看片人aa| 无码人妻精品一区二区三区蜜桃91 | 日韩电影在线观看一区二区| 麻豆国产一区二区| 538国产精品视频一区二区| 我要看黄色一级片| 日韩毛片视频| 亚洲视频网站在线观看| 青青青视频在线播放| 国产免费av一区二区三区| 中日韩美女免费视频网址在线观看 | 亚洲精品视频网上网址在线观看| 国产不卡在线观看视频| 国内视频精品| 久久久电影免费观看完整版| 国产无遮挡裸体免费视频| 影音先锋日韩在线| 色青青草原桃花久久综合| www.狠狠爱| 欧美黄色精品| 国产精品高精视频免费| 国产性猛交╳xxx乱大交| 亚洲国产精品一区| 国产精品热视频| 一级特黄免费视频| 日韩专区在线视频| av噜噜色噜噜久久| 成人亚洲综合天堂| 好吊成人免视频| 中文字幕55页| 视频一区在线| 精品国产乱码久久久久久蜜臀| 欧美一级特黄aaa| 国产日韩一区二区三免费高清| 欧美狂野另类xxxxoooo| xxxx在线免费观看| 亚洲婷婷影院| 97视频在线观看视频免费视频| 精品在线视频免费| 国产一区欧美二区| 国产精品国产精品| 色哟哟在线观看| 亚洲国产中文字幕| 国产精品19p| 国产一级成人av| 日韩电影免费观看中文字幕| 中文字幕av久久爽av| 激情欧美一区| 日本高清久久天堂| 日本三级一区二区三区| 激情久久五月天| 日韩尤物视频| 国产传媒在线播放| 欧美日韩在线免费视频| 蜜乳av中文字幕| 男女精品网站| 国产精品夜间视频香蕉| 黄色片在线看| 亚洲女与黑人做爰| 亚洲怡红院在线| 99成人超碰| 午夜精品福利视频| 好吊视频一二三区| 中文字幕av免费专区久久| 日本福利视频在线观看| 2019中文亚洲字幕| 日韩电影中文字幕在线| 国产精品18p| 处破女av一区二区| 高清欧美精品xxxxx| 日本在线精品| 一区二区三区国产在线观看| 久久精品黄色片| 亚洲综合日韩| 666精品在线| av免费在线观看网站| 色菇凉天天综合网| 日韩一区二区a片免费观看| 日韩在线一区二区| 亚洲精品无人区| 888av在线视频| 欧美色涩在线第一页| www中文在线| 国产精品996| 亚洲国产欧洲综合997久久 | 成人激情在线| 国产视频福利一区| 在线āv视频| 精品视频偷偷看在线观看| www.久久精品视频| 久久www免费人成看片高清| 亚洲人体一区| 日韩视频1区| 96精品视频在线| 国产精品久久久久久久久毛片| 91女人视频在线观看| 中国老女人av| 99久久精品一区二区成人| www.亚洲人.com| 免费激情视频网站| 欧美性色欧美a在线播放| 亚洲综合自拍网| 奇米影视在线99精品| 欧美亚洲另类久久综合| 国产无遮挡裸体视频在线观看| 337p亚洲精品色噜噜狠狠| av网站免费在线看| 国产麻豆午夜三级精品| av不卡在线免费观看| 超碰这里只有精品| 欧美肥臀大乳一区二区免费视频| 一区二区 亚洲| 国产欧美日韩综合| 久久精品无码一区二区三区毛片| 国产精品亚洲综合久久| 看一级黄色录像| 国产欧美高清视频在线| 岛国一区二区三区高清视频| 日本片在线观看| 这里只有精品免费| 天天操天天爽天天干| 亚洲欧洲精品天堂一级| 四虎1515hh.com| 美女诱惑一区| 又大又硬又爽免费视频| 大型av综合网站| 国产精品羞羞答答| 刘亦菲一区二区三区免费看| 亚洲美女喷白浆| 五月天激情国产综合婷婷婷| 亚洲天堂精品视频| 四虎国产精品永久免费观看视频| 性色一区二区三区| 我的公把我弄高潮了视频| 久久久久久久久久久久久久| 99re国产| 久久麻豆视频| 国产精品国产三级国产aⅴ9色| av日韩中文| 欧美国产第二页| www在线视频| 日韩小视频在线观看| 国产剧情在线观看| 欧美片网站yy| 26uuu成人网| 中文字幕不卡三区| www..com.cn蕾丝视频在线观看免费版| 成人av中文字幕| 午夜性福利视频| 国产欧美不卡| 国产日韩欧美精品在线观看| 欧美区日韩区| 日韩精品一区二区在线视频| 韩国女主播一区二区三区| 666精品在线| 亚洲国产中文在线| 91黄色国产视频| 精品国产亚洲一区二区三区大结局| 久久久久久久av| 久久五月精品中文字幕| 亚洲男人天堂九九视频| 色婷婷av一区二区三区之红樱桃 | 国产尤物在线观看| 欧美日韩视频第一区| 国产精品无码一区| 欧美熟乱第一页| 亚洲系列在线观看| 3d动漫精品啪啪1区2区免费 | 国产乱人伦精品一区二区在线观看| 91女神在线观看| 狠色狠色综合久久| 久久久亚洲国产精品| 亚洲精品色图| 久久久久久久久久久免费视频| 国产精品99久久精品| 正在播放精油久久| 在线日本制服中文欧美| 欧美国产一区二区在线| 欧美**字幕| 粉嫩高清一区二区三区精品视频| 日韩精品视频在线看| 国产精品久久久对白| 人体久久天天| 成人18视频| 麻豆国产欧美一区二区三区r| 国产日产亚洲精品| 国产精品亚洲欧美一级在线| 97人人澡人人爽| 麻豆一区二区| 午夜老司机精品| 四虎884aa成人精品最新| 亚洲最大av在线| 日韩免费va| 97福利一区二区| 韩日精品一区二区| 国产日韩在线亚洲字幕中文| 视频一区日韩精品| 欧洲精品久久| 一区二区三区午夜视频| 大j8黑人w巨大888a片| 欧美日韩三级| caopor在线视频| 国产成人精品影院| 最近中文字幕免费| 亚洲精品视频免费观看| 九一国产在线观看| 天天亚洲美女在线视频| 久久久久久久久久91| 亚洲视频中文字幕| 日韩av大片在线观看| 欧美人狂配大交3d怪物一区| 污视频在线免费观看| 精品裸体舞一区二区三区| 国产美女www爽爽爽视频| 日本少妇毛茸茸高潮| 亚洲一级二级三级| 中文在线免费看视频| 精品国产在天天线2019| 在线观看黄av| 欧美整片在线观看| 99ri日韩精品视频| 亚洲欧洲三级| 亚洲一区成人| 好吊操视频这里只有精品| 国产清纯白嫩初高生在线观看91 | 色诱视频网站一区| 六月丁香婷婷综合| 日韩免费在线观看| 亚洲黄色一级大片| 欧美成人在线直播| 中文日本在线观看| 清纯唯美亚洲综合| 日韩中文av| 日韩成人三级视频| 国产自产视频一区二区三区| 在线免费观看视频| 色婷婷亚洲婷婷| 无码国产精品一区二区色情男同| 欧美成人午夜视频| 国产午夜精品一区在线观看| 五月天久久狠狠| 丝袜美腿一区二区三区| 一区二区xxx| 久久亚洲精品国产精品紫薇| 蜜桃av乱码一区二区三区| 天天影视色香欲综合网老头| www.色播.com| 日韩国产精品一区| av影片在线| 国产精品果冻传媒潘| 欧美日本一区二区高清播放视频| 亚洲免费看av| 中日韩av电影| 中文字幕视频二区| 中文字幕欧美国内| 日本美女久久| 一区二区视频在线免费| 男人的天堂亚洲一区| 国产探花一区二区三区| 成人免费视频在线观看| 国产又粗又猛又黄又爽无遮挡| 中文字幕精品在线| 欧美电影在线观看网站| 亚洲视频电影| 国内成人免费视频| 欧美色图一区二区| 精品乱码亚洲一区二区不卡| 免费看电影在线| 国产区二精品视| 亚洲视频www| 无码少妇精品一区二区免费动态| 91高清视频免费看| 欧美69xxxx| 8090成年在线看片午夜| 群体交乱之放荡娇妻一区二区| 看av免费毛片手机播放| 国产午夜精品在线观看| 国产探花在线播放| 亚洲成人av中文字幕| 在线观看av的网站| 91精品国产综合久久久久久蜜臀 | 久久久午夜电影| √天堂中文官网8在线| 日韩亚洲欧美综合| av免费不卡国产观看| 日韩av一区二区三区在线| 久久国产精品99久久久久久老狼| 卡通动漫亚洲综合| 亚洲国产精品系列| 巨胸喷奶水www久久久免费动漫| 一区二区三区四区欧美日韩| 韩国欧美一区二区| 黄色小视频在线免费看| 亚洲香蕉成视频在线观看| 俄罗斯一级**毛片在线播放| 精品在线视频一区二区| 日韩精品电影在线| 日本精品人妻无码77777| 欧美精品一区二区三区蜜桃| 国产成人精品亚洲日本在线观看| 久久国产精品精品国产色婷婷| 欧美韩国一区| wwwwww日本| 亚洲国产美女搞黄色| 精品视频二区| 亚洲综合在线中文字幕| 免费日韩精品中文字幕视频在线| 亚洲 欧美 国产 另类| 欧美影院一区二区| 里番在线播放| 日韩偷拍一区二区| 成人黄色网址在线观看| 国产成人无码专区|