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

后端視野學 Webpack ,文武雙全?

開發 前端
挺多人對前端開發是存在一定的誤解的,感覺會點 H5 + C3 + JS 就等于會前端開發,但近幾年前后端分離的模式逐漸流行起來,就說明前端早已沒有之前那么簡單。

 [[420369]]

大家好,我是小菜。一個希望能夠成為 吹著牛X談架構 的男人!如果你也想成為我想成為的人,不然點個關注做個伴,讓小菜不再孤單!

本文主要介紹 Webpack 使用

如有需要,可以參考

前端認知

挺多人對前端開發是存在一定的誤解的,感覺會點 H5 + C3 + JS 就等于會前端開發,但近幾年前后端分離的模式逐漸流行起來,就說明前端早已沒有之前那么簡單。

站在我這個后端的視角上倒覺得, 前端是個文官,后端是個武將,不能說做到能文能武,但起碼求武的同時不能不識一丁,退一兩步來說,當前端實習妹子遇到 Bug 束手無措的時候,你這偽境前端若能出手相助~那在她人眼中你就是一位 '架著七彩祥云而來的蓋世英雄~'

如果說你會 Bootstrap 加上 Layui,那么就說你會前端,難免會被人拍死在沙灘上~ 實際上的前端開發是由以下幾個模塊組成:

  • 模塊化(js 的模塊化,css 的模塊化,資源的模塊化)
  • 組件化(復用現有的 UI 結構,樣式,行為)
  • 規范化(目錄結構的劃分、編碼規范化、接口規范化、文檔規范化、Git分支管理)
  • 自動化(自動化構建、自動部署、自動化測試)

與后端如出一轍,該有的模塊都有。

說到工程化,在后端開發中存在主流的解決方案有 Maven 工程 和 Gradle 工程。前端工程化解決方案也有 webpack 和 vite。那么就進入我們今天的正題,走進 Webpack

Webpack

一、概念認知

本質上,webpack 是一個用于現代 JavaScript 應用程序的靜態模塊打包工具。當 webpack 處理應用程序時,它會在內部從一個或多個入口點構建一個依賴圖,然后將你的項目中所需的每一個模塊組合成一個或多個 bundles,它們均為靜態資源,用來展示你的內容。

以上內容摘于官網,官里官氣的。下面我們簡單概括一下

  • 概念總結:webpack 是前端項目工程化的具體解決方案
  • 功能總結:

提供了友好的前端模塊化開發的支持

提供了代碼壓縮混淆、處理瀏覽器兼容Js、以及性能優化等強大功能

  • 優點總結:提高了前端開發效率和項目的可維護性

二、基本使用

實踐出真知!我們直接使用來加強認識。

首先我們需要創建一個空白目錄,然后在空白目錄中執行 npm init -y 來初始化包管理配置文件 package.json

可以簡單理解為這個 package.json 就相當于 maven 工程中的 pom.xml 文件

在 Maven 工程中我們通常上都是把源代碼放在 src 目錄底下,該 webpack 工程類似,因此我們下一步便是在該目錄下創建 src 目錄,繼而創建兩個文件 index.html (首頁) 和 index.js (腳本文件)

我們傳統上要引入 Jquery 文件,一般有兩種方式

  • 一種是下載 jquery.mini.js 文件,然后在項目中引入
  1. <script src="../js/jquery.js"></script> 
  • 一種是引用網上現成的 CDN 庫,這樣可以不用下載
  1. <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> 

兩種方式各有優劣,這里不做過多說明!

既然我們該項目是使用 npm 初始化的,那我們便可以使用 npm 來幫我們下載好所需要的包

  1. npm install jquery -s 

添加成功后我們可以在 package.json 文件中看到我們剛剛下載的包,這種方式有沒有讓你回想到 maven 的 maven install 命令,這種奇怪的熟悉感~

等 jquery 包安裝完成后,我們就可以在 node_modules 目錄下查看到剛剛安裝的包

然后在項目中進行引用

瀏覽器查看 JS 運行正常

以上方式也是傳統的引包方式,跟 webpack 仍是沒有半點關系。接下來我們就來看看 webpack 是如何使用的。

1、webpack 安裝

在終端中運行如下命令,安裝與 webpack 相關的兩個包:

  1. npm install webpack@5.42.1 webpack-cli@4.7.2 -D 

擴展

  • npm install xxx -S,也就是 npm install module_name --save 寫入dependencies
  • npm install xxx -D,也就是 npm install module_name --save-dev寫入devDependencies

devDependencies ,是我們開發的時候需要用到的一些包,只需要用于開發階段,真正打包上線的時候并不需要這些包,dependencies,這個則是需要發布到生產環境中的。

2、webpack 配置

我們需要在項目的根目錄中,創建一個名為 webpack.config.js 的 webpack 配置文件,并初始化如下的基本配置:

  1. module.exports = { 
  2.     mode: "development" 

其中的 mode 是個可變值,存在兩個可選值

  • development

1、 適用于開發環境

2、不會對打包生成的文件進行代碼壓縮和性能優化

3、打包速度快,適合在開發階段使用,能夠快速響應頁面的更改

  • production

1、適用于生產環境

2 、會對打包生成的文件進行代碼壓縮和性能優化

3、打包速度很慢,僅適合在項目發布階段使用

1)配置文件的作用

webpack.config.js 是 webpack 的配置文件,webpack 在真正開始打包構建之前,會 先去讀取這個配置文件,從而基于給定的配置,對項目進行打包

由于 webpack 是基于 node.js 開發出來的打包工具,因此在它的配置文件中是支持 node.js 相關的語法和模塊進行 webpack 個性化配置的

然后我們這里先打個 載入點① ,先回到剛剛說到的 webpack 使用,等會再回來介紹 webpack!

在Java中有句熟悉的話:萬物皆對象 ,因此在前端工程中我們同樣有句話:萬物皆模塊

我們已經不需要傳統的 js 導入方式:

  1. <script src="../node_modules/jquery/dist/jquery.min.js"></script> 

我們可以在有需要 jquery 的地方使用 import 的方式導入,jquery 是頁面 index.html 需要的嗎?并不是,而是 index.js 腳本文件需要,所以我們只需要在 index.js 文件中導入

然后我們還需要修改 package.json 文件:

我們新增了 dev 腳本 ,在 script 節點下的腳本,可以通過 npm run 執行。

然后我們在終端上運行 npm run dev 命令,啟動 webpack 進行項目的打包構建

啪一下,很快啊!就在項目目錄中生成了一個 dist 目錄,并存在 main.js 腳本文件

我們繼而在 index.html 文件中引入該 main.js 文件,先直接看結果,我們右鍵在瀏覽器打開

可以發現,js 運行正常,那么 main.js 是啥玩意?

在 **webpack 4.x 和 5.x ** 的版本中有如下默認約定:

  • 默認的打包入口文件為 src/index.js
  • 默認的輸出文件路徑為 dist/main.js

規定是die的,人是活的,因此我們可以在 webpack.config.js 中修改打包的默認約定!

既然了解了約定,因此我們就可以知道在 main.js 中包含了 index.js 內容,我們可以直接查看 main.js 文件,結果如我們所料:

我們回到之前的 載點① 繼續剛剛 webpack.config.js 配置文件的說明

我們在 webpack.config.js 文件中可以通過 entry 節點指定打包的入口,然后通過 output節點指定打包的出口。

這就是我們上面所說的打破默認規則!

上面我們也說完了 webpack 的基本使用,那我們下面就來看看 webpack 中的插件使用

三、插件使用

插件 顧名思義就是用來擴展 webpack 的功能,通過安裝和配置第三方的插件,可以擴展 webpack 的能力,從而讓 webpack 使用起來更加方便。最常用的 webpack 有兩個:

  • webpack-dev-server

1、類似于 node.js 階段用到的 nodemon 工具

2、每當修改了源代碼,webpack 會自動進行項目的打包和構建

  • html-webpack-plugin

1、類似于一個模板引擎

2、可以通過此插件自定制 index.html 頁面中的內容

我們先來看如何使用第一個插件

1)webpack-dev-server

webpack-dev-server 可以讓 webpack 監聽項目源代碼的變化,從而進行自動打包構建

① 安裝

使用以下命令即可在項目中安裝該插件

  1. npm install webpack-dev-server@3.11.2 -D 

② 配置

1、需要修改 package.json 中的 script

  1. "scripts": { 
  2.     "dev""webpack server" 

2、運行 npm run dev 命令

可以看到一句話:項目正在運行于 localhost:8080/ 。并且運行后并沒有出現 dist 目錄

然后我們通過該地址訪問卻沒有看到我們想要的頁面,而是需要點擊 src 目錄才能訪問

根據以上結果,我們可能有如下疑問:

  • 為什么運行 npm run dev 會出現了一個訪問地址呢?

這是因為 webpack-dev-server 會啟動一個 實時打包的 http 服務器

  • 打包生成的文件在哪?

想要解答這個問題,我們就得需要知道兩點 - 配置和不配置 webpack-dev-server 的區別

1、不配置 webpack-dev-server 的情況下,webpack 打包生成的文件,會存放到實際的物理磁盤上(根據 output 指定路徑進行存放)

2、配置 webpack-dev-server 的情況下,打包生成的文件會存放到內存上,不再根據 output 節點指定的路徑存放,這樣的好處是提高了實時打包輸出的性能,因此內存比物理磁盤速度快很多

  • 生成到內存中的文件該如何訪問?

生成到內存中的文件,默認是放到了項目的根目錄中,但是是虛擬不可見的,我們可以直接用 / 表示項目根目錄,后面跟上要訪問的文件名稱, 即可訪問內存中的文件。

以三個問題收尾,我們來說下一個插件 html-webpack-plugin

2)html-webpack-plugin

我們上面通過訪問 webpack server 給定的 URL 地址,發現不能直接訪問到我們的 index 頁面,這難免有些缺陷,有缺陷自然就會有改進,這就可以聊到 html-webpack-plugin 這個插件了~!

① 安裝

老樣子,我們需要通過以下命令進行安裝

  1. npm install html-webpack-plugin@5.3.2 -D 

② 配置

③ 運行

我們通過運行 npm run dev ,然后看結果

通過該插件,我們可以看到已經可以直接通過路徑訪問該頁面~

這里有小伙伴可能會提出問題,如果我不想通過 8080 端口可以嗎,甚至不想通過 localhost 訪問可以嗎?答案是可以的,我們可以通過 devServer 節點 對 webpack-dev-server 插件進行更多的配置:

  1. devServer: { 
  2.     // 首次打包成功后,自動打開瀏覽器 
  3.     opentrue
  4.  // 在 http 協議中,如果端口號是 80,則可以被省略 
  5.     port: 8081, 
  6.     // 指定運行的主機地址 
  7.     host: '127.0.0.1' 
  8. }, 

然后我們運行項目后通過 127.0.0.1:8081 訪問頁面:

到這里我們就已經介紹了兩個插件的使用,接下來我們將看點不一樣的東西~!

四、loader使用

我們在開頭的時候已經說過一句話,在前端工程化中,萬物皆模塊。因此我們可以在 index.js 腳本文件中通過 import 的方式導入 jquery js文件。那遇到 css 文件是否一樣能夠通過 import 導入?我們不妨一試:

當我們想要通過 import 的方式導入該 css文件,控制臺卻給了我們一句話 :你可能需要一個適當的loader來處理這種文件類型,適當的?loader?。那就進入正題,什么是 loader!

在實際開發過程中,webpack 默認只能打包處理以 .js 后綴名結尾的模塊。其他非 .js 后綴名結尾的模塊,webpack 是處理不了,也就是會出現我們上面的那種情況,但怎么處理呢?就需要像提示文本所說的那樣,我們需要下載一個適當的 loader 來處理這種文件類型。

loader 加載器有許多種,但它們的作用就只有一個,那就是 幫助 webpack 來打包處理特定的文件模塊

  • css-loader:可以打包處理 .css 相關的文件
  • less-loader:可以打包處理 .less 相關的文件
  • babel-loader: 可以打包處理 webpack 無法處理的高級 JS 語法

接下來我們就來處理上面遇到 css 導包的問題

① 安裝

通過以下命令來安裝處理 css 文件的 laoder

  1. npm i style-loader@3.0.0 css-loader@5.2.6 -D 

② 配置

我們需要在 webpack .config.js 文件中配置相應的 loader 規則

  1. module: { 
  2.   rules: [ 
  3.     // 處理 .css 文件的 loader 
  4.     { test: /\.css$/, use: ['style-loader''css-loader'] }, 
  5.   ] 

③ 運行

繼而我們運行文件,瀏覽器看效果

該結果已經說明了 css-loader 已經起到作用了。我們看下規則的編寫方式是怎么樣的:

  1. { test: /\.css$/, use: ['style-loader''css-loader'] } 

其中 test 表示匹配的文件類型, use 表示對應要調用的 loader

  • use 數組中的 loader 順序是固定的
  • 多個 loader 的調用順序是 從后往前調用

其它loader的使用方式與上面一致,都是需要先安裝,然后在 webpack.config.js 文件中配置

1)less-loader

安裝

  1. npm i less-loader@10.0.1 less@4.1.1 -D 

配置

  1. module: { 
  2.   rules: [ 
  3.     // 處理 .css 文件的 loader 
  4.     { test: /\.css$/, use: ['style-loader''css-loader'] }, 
  5.     // 處理 .less 文件的 loader 
  6.     { test: /\.less$/, use: ['style-loader''css-loader''less-loader'] }, 
  7.   ] 

2)babel-loader

安裝

  1. npm i babel-loader@8.2.2 @babel/core@7.14.6 @babel/plugin-proposal-decorators@7.14.5 -D 

配置

  1. module: { 
  2.   rules: [ 
  3.     // 處理 .css 文件的 loader 
  4.     { test: /\.css$/, use: ['style-loader''css-loader'] }, 
  5.     // 處理 .less 文件的 loader 
  6.     { test: /\.less$/, use: ['style-loader''css-loader''less-loader'] }, 
  7.     // 處理JS高級語法的 loader 
  8.     { test: /\.js$/, use: 'babel-loader', exclude: /node_modules/ } 
  9.   ] 

上面我們看到幾種 loader 的作用,那么其中處理流程是怎么樣的呢?我們用張圖解釋下:

五、打包發布

完成以上項目開發后,我們就要來到 打包發布 的階段,前面所做的一切,到最后肯定都是需要發布的,那么為了能讓項目在生產環境中高性能運行,就需要對項目打包發布。

① 配置

打包發布同樣需要配置,我們需要在 package.json 文件下的 script 節點 進行配置:

其中 --model 是一個參數項,用來指定 webpack 的運行模式,我們在上面已經介紹過了~然后通過指令 npm run build,我們就可以在項目的根路徑下看到我們熟悉的 dist 目錄了

但是如果沒有指定的規則配置,默認會將打包后的文件都放到 dist 目錄下,但是如果我們想要將 js 文件 放到 js目錄下,image 文件放到 image 目錄下 我們就需要在 webpack.config.js 進行相應的配置

前面我們 js 文件的生成目錄已經通過 output 節點 進行配置了

那么我們還需要配置其他文件的輸出目錄,這里以圖片類型的文件為例:

我們同樣是在 webpack.config.js 文件中配置,不過此時是在 rules 節點 中進行配置:

進行到這步我們已經差不多完成了打包任務,但是我們如果更改了 js 生成目錄,這個時候會發生什么呢?

我們發現會生成冗余的文件,并沒有把舊文件刪除,這難道每次打包都要進行手動刪除嗎?當然不是!為了在每次打包發布時 自動清理掉 dist 目錄中的舊文件,可以安裝并配置 clean-webpack-plugin 插件

安裝

npm install clean-webpack-plugin@3.0.0 -D

配置

運行

六、Source Map

這種 Source Map 就有點意思了,我們后端上線后,如果出現問題,我們通常會進入到服務器中查看報錯日志。那么前端如果出現問題就很方便了,我們可以直接通過 F12 打開控制臺查看報錯日志,而且也可以對 js 文件進行 debug。但是我們上面說過通過 mode 指定 production 值后會對代碼進行壓縮,那么調試是一件即為困難的事情。

Source Map 就是用來解決這種問題的。

1)概念

Source Map 是一個信息文件,里面存儲著位置信息,也就是 轉換后 -> 轉換前 的位置映射。在它的幫助下,出錯的時候,可以直接顯示原始代碼,而不是轉換后的壓縮代碼,可以在一定程度上提高排錯效率。

2)使用

正常在開發環境下,webpack 是默認開啟了 Source Map 功能,當程序運行出錯的時候,可以直接在控制臺提示錯誤位置的信息

但是這種提示是不友好的,它記錄的是壓縮后代碼的位置,這樣導致的問題就是實際運行報錯的行數 與 源代碼的行數 不匹配,這將成為我們排錯路上的 絆腳石 ~!

既然如此,那我們就帶著問題解決問題!

3)所遇問題

① 問題 1:實際運行報錯的行數 與 源代碼的行數 不匹配

那么要解決這個問題也很簡單,就需要在 webpack.config.js 中添加以下配置:

配置完查看結果,至此我們可以發現 運行報錯的行數 與 源代碼的行數 是相匹配的!

② 問題 2:生產環境中容易暴露源碼

以上我們雖然已經可以定位到源碼的錯誤,但是如果在生產環境中,暴露源碼終歸不是一件好事,因此我們同樣要解決該問題。

解決該問題的方式也很暴力,直接打包的時候在webpack.config.js文件中將mode 指定為 production,這樣不會顯示報錯行數,也不會顯示源碼內容

  1. mode: "production" 

③ 問題 3:生產環境需顯示行數隱藏源碼

上面那種方式過于暴力,行數和源碼一股腦都不給你顯示了。那有沒有比較這種的方式,可以顯示行數但不顯示源碼?答案肯定是有的!我們只需將 devtool 的值配置為 nosources-source-map 即可

  1. devtool: 'nosources-source-map' 

配置完畢我們看效果:

該方式既可以顯示報錯行數也可以隱藏源碼,是一種十分合適解決方案。

因此我們做個總結

4)總結

  • 開發環境

將 devtool 的值設置為 eval-source-map ,有利于精準定位到具體的錯誤行

  • 生產環境

關閉 Source Map 或將 devtool 的值設置為 nosource-source-map ,有利于防止源碼泄漏,提高安全性

 

責任編輯:武曉燕 來源: 小菜良記
相關推薦

2024-06-18 13:36:29

2017-02-23 20:30:29

后端前端webpack

2011-01-21 17:09:06

Zimbra

2014-07-14 16:43:39

華為

2013-11-05 09:29:14

平臺軟件虛擬化云數據庫服務

2024-02-27 13:03:38

前端視頻合成FFmpeg

2022-01-19 09:00:51

UI前端手機開發

2021-03-26 11:34:22

前端后端工程師

2024-02-28 08:38:07

Rust前端效率

2011-05-31 09:22:39

程序員

2023-10-31 17:28:00

數據訓練

2022-03-08 09:16:20

webpack前端開發

2009-12-31 10:36:48

網絡分析高彥剛

2024-05-27 00:00:01

2020-11-17 08:09:01

webpack配置項腳手架

2010-12-14 18:58:59

IBM

2020-02-20 09:10:52

企業信貸反欺詐益博睿

2020-09-19 21:26:56

webpack

2022-10-09 08:43:47

H5Webpack代碼

2020-08-05 08:21:41

Webpack
點贊
收藏

51CTO技術棧公眾號

免费在线超碰| 亚洲人成电影网站色…| 久久视频免费观看| 免费国产黄色网址| 九九久久免费视频| 成人免费在线观看视频| 久久精品1区| 日韩欧美另类在线| 视频一区在线免费观看| 日韩 欧美 中文| 第一区第二区在线| 一区二区三区在线免费视频| 国产美女扒开尿口久久久| 国产激情在线免费观看| 高清毛片在线观看| av午夜精品一区二区三区| 欧美日韩成人精品| 中文字幕无码毛片免费看| 欧美96在线| 久久国产剧场电影| 日日狠狠久久偷偷四色综合免费| 欧美日韩在线视频一区二区三区| 亚洲黄色小说网| 黄色综合网站| 亚洲第一天堂av| 国产无限制自拍| 人妻精品一区一区三区蜜桃91| 欧美精品激情| 欧美精品一区二区在线播放| 青青草国产精品视频| 在线观看免费黄色| 激情伊人五月天久久综合| 久久精品中文字幕| 中文字幕一二三| 国产成+人+综合+亚洲欧美| 欧美日韩视频在线| 日韩精品伦理第一区| 成人黄色片在线观看| 久久人人88| 日韩一区二区免费在线电影| 欧美性潮喷xxxxx免费视频看| 好吊视频一二三区| 国产乱码精品| 日韩视频一区在线| 亚洲自拍偷拍图| 国产日本亚洲| 五月天久久比比资源色| 欧美日韩另类综合| 一区二区久久精品66国产精品| 亚洲色图国产| 亚洲加勒比久久88色综合| 116极品美女午夜一级| 福利在线导航136| 久久久久久久综合日本| 国产有码在线一区二区视频| 91视频免费在线看| 亚洲三级性片| 69久久99精品久久久久婷婷| www.av毛片| 欧美一卡二卡| 国产欧美一区二区精品性| 亚洲一区中文字幕| 国产精品综合网| 影音先锋国产精品| 亚洲的天堂在线中文字幕| 看看黄色一级片| 国内在线免费视频| 亚洲永久免费av| 日韩电影天堂视频一区二区| 色鬼7777久久| 国产乱人伦偷精品视频免下载| 国产欧美在线播放| 国产精品人妻一区二区三区| 99视频在线精品国自产拍免费观看| 亚洲色图第三页| 妺妺窝人体色WWW精品| 久久久精品区| 91福利国产精品| 日本一级黄视频| 成在在线免费视频| 国内欧美日韩| 亚洲女同女同女同女同女同69| 国产精品免费区二区三区观看| 免费观看日批视频| 伊人久久大香线蕉综合热线| 久久免费少妇高潮久久精品99| 蜜桃av免费观看| 日韩在线黄色| 精品国产亚洲在线| 国产精品无码永久免费不卡| 国产一区二区三区国产精品| 欧美大片在线观看| 蜜桃精品成人影片| 日韩欧美在线中字| 亚洲日本中文字幕免费在线不卡| 成熟人妻av无码专区| 亚洲精品小说| 久久精品人人做人人爽| 久久久久久欧美精品se一二三四| 天天综合一区| 中文字幕在线精品| 国产人妻大战黑人20p| 天天影视天天精品| 秋霞成人午夜鲁丝一区二区三区| 91看片在线播放| 国产一区清纯| 国产成人+综合亚洲+天堂| 日本五十熟hd丰满| 一区精品久久| 国产美女精品免费电影| 欧美一区二区在线观看视频| 中文字幕av一区 二区| 日韩久久不卡| 久久国产精品黑丝| 欧美日韩在线播放三区四区| 国产理论在线播放| 欧美影视资讯| 欧美三级中文字幕在线观看| 91九色蝌蚪porny| 噜噜噜狠狠夜夜躁精品仙踪林| 欧美不卡视频一区| 无码人妻丰满熟妇啪啪网站| 999精品视频在这里| 精品美女一区二区| 欧美h片在线观看| 一本精品一区二区三区| 国产a级全部精品| 久久午夜鲁丝片| 成人av网站免费观看| 精品国产区在线| 国产精品男人的天堂| 久草免费新视频| 男女男精品视频| 国产精品午夜视频| 日韩福利一区二区| 亚洲线精品一区二区三区八戒| 免费视频爱爱太爽了| 182在线视频观看| 亚洲成av人影院| 国产综合av在线| 欧美成人a交片免费看| 欧美自拍偷拍午夜视频| 超碰超碰在线观看| 亚洲免费看片| 亚洲精品一区二区三区精华液 | 精品美女在线播放| 成人在线观看高清| 欧美日本中文| 亚洲淫片在线视频| 黄色网址视频在线观看| 一区二区三区在线影院| 国模私拍视频在线观看| 精品一区二区三区视频在线播放 | 51精品国产人成在线观看| 国产极品久久久| 99精品欧美一区二区三区小说 | 污污的视频网站在线观看| 久久综合999| 亚洲人成网站在线观看播放| 在线xxxx| 日韩欧美a级成人黄色| 污版视频在线观看| ccyy激情综合| 欧美激情一区二区三区在线视频观看 | 亚洲小视频网站| 97精品在线| 97久久天天综合色天天综合色hd| sis001亚洲原创区| 亚洲精品小视频在线观看| 成人黄色短视频| 激情综合激情| 欧美日韩一区在线观看视频| 欧美性片在线观看| 久久精品色欧美aⅴ一区二区| a网站在线观看| 精品国产成人在线| 韩国三级hd中文字幕| 精品无码三级在线观看视频| 日韩精品免费一区| 台湾佬综合网| 国产在线拍揄自揄视频不卡99| 中文字幕在线播放网址| 亚洲国产高清自拍| 国模私拍一区二区| 亚洲制服丝袜在线| 男人舔女人下部高潮全视频| 激情综合网最新| 成人一区二区免费视频| 成人在线免费小视频| 538国产精品一区二区在线| jizz国产视频| 欧美日韩一区二区免费在线观看| 亚洲区免费视频| 国产精品综合二区| 欧美日韩第二页| 国产精品白丝av嫩草影院| 欧美在线亚洲在线| 超碰在线免费播放| 6080亚洲精品一区二区| 国产成人精品av久久| 国产精品伊人色| 女性女同性aⅴ免费观女性恋| 日本一二区不卡| 国产在线一区二| 成全电影大全在线观看| 一区二区三区四区视频| 天堂网视频在线| 91亚洲国产成人精品一区二区三| 日韩 欧美 视频| 欧美亚洲国产一区| 国产综合 伊人色| 9999精品| 国产精品吴梦梦| 欧美特黄aaaaaaaa大片| 欧美日韩福利在线观看| 91在线观看| 亚洲欧美www| 波多野结衣大片| 国产精品拍天天在线| 伊人网在线综合| 国产日韩一区| 青青在线视频免费观看| 久久密一区二区三区| 日韩高清国产精品| 欧美性生活一级片| 日本一区二区不卡| 男女在线视频| 欧美人与性动交| 国产二区三区在线| 日韩亚洲精品视频| 成人影视在线播放| 亚洲天堂av在线免费| 内衣办公室在线| 亚洲欧美日韩国产成人| 亚洲欧美综合一区二区| 亚洲国产精品大全| 日本加勒比一区| 亚洲成av人乱码色午夜| 亚洲av无码国产精品永久一区 | 丁香六月色婷婷| 日韩一区二区三区免费观看| 国产乱码久久久久| 91麻豆精品久久久久蜜臀| 91精品在线视频观看| 欧美精品视频www在线观看| 欧美另类视频在线观看| 亚洲视频每日更新| 欧美做受喷浆在线观看| 丁香天五香天堂综合| 久久精品午夜福利| 亚欧美无遮挡hd高清在线视频| 水蜜桃一区二区三区| 日韩免费视频| 自拍偷拍一区二区三区| 六月丁香久久丫| 久久av一区二区三区亚洲| 99久久精品一区二区成人| 国产97在线视频| 国产精品亚洲成在人线| 国产精品高潮视频| 欧美aaaxxxx做受视频| 欧美国产日韩视频| 1区2区3区在线观看| 色爱精品视频一区| 亚洲AV第二区国产精品| 日韩激情第一页| aaaa一级片| 精品国产乱码久久久久久牛牛| 日韩中文字幕观看| 亚洲人成自拍网站| 日本三级视频在线播放| 日韩av一卡二卡| 巨骚激情综合| 久久亚洲一区二区三区四区五区高| a在线免费观看| 久久久久久91香蕉国产| 成人影院网站| 97色伦亚洲国产| 高清全集视频免费在线| 久久久久在线观看| 偷拍中文亚洲欧美动漫| 国产在线精品成人一区二区三区| 日韩中文字幕在线一区| 国产一区二区丝袜| 日韩最新av| 日本一区二区三区四区在线观看| 77成人影视| 91在线免费看网站| 四虎影视成人精品国库在线观看| 国产大片精品免费永久看nba| av成人亚洲| 国产一区二区三区高清| 日韩成人免费| 成人免费观看cn| 久久er99热精品一区二区| av免费观看不卡| 国产精品麻豆网站| 日本道在线观看| 欧美一区二区三区性视频| 亚洲一级av毛片| 欧美视频三区在线播放| 国产黄色免费观看| 婷婷中文字幕一区三区| 在线视频你懂得| 日韩av中文在线| av黄色在线| 国产精品视频xxx| 欧美理伦片在线播放| 一区二区91美女张开腿让人桶| 亚洲国产专区校园欧美| 欧美 国产 综合| 国产一区二区不卡老阿姨| 中文 日韩 欧美| 国产精品一二三区| 国产精品免费无码| 性做久久久久久免费观看欧美| 国产精品久久久久久久一区二区| 日韩精品在线观看一区二区| 男女在线视频| 亚洲在线一区二区| 欧美韩日高清| 人人干人人视频| 久久国产免费看| 伊人色在线视频| 欧美国产97人人爽人人喊| 国产黄色片免费看| 精品国产免费人成电影在线观看四季 | 日韩视频一区二区三区四区| 亚洲精品国产精品国自产观看| 欧美独立站高清久久| 国产成人av影视| 久久亚洲二区三区| 人人干人人干人人干| 欧美mv日韩mv| 欧美24videosex性欧美| 99re国产在线播放| 欧美交a欧美精品喷水| 午夜久久久久久久久久久| 亚洲小说欧美另类婷婷| av在线免费看片| 17c精品麻豆一区二区免费| 午夜偷拍福利视频| 日韩一区二区免费在线电影| 182tv在线播放| 91精品综合久久| 欧美精品大片| 图片区偷拍区小说区| 一区二区三区免费| 亚洲毛片欧洲毛片国产一品色| 色综合91久久精品中文字幕| 视频二区欧美毛片免费观看| 亚洲色婷婷久久精品av蜜桃| 国产成人综合网| 国产熟妇久久777777| 色哟哟一区二区在线观看| 国产老女人乱淫免费| 久久五月天综合| 日韩一区二区三区精品| 国产片侵犯亲女视频播放| 成人少妇影院yyyy| 中国一级特黄毛片| 亚洲区中文字幕| 欧美大陆国产| 特大黑人娇小亚洲女mp4| 久久久天天操| 亚洲熟女乱综合一区二区| 一区二区三区在线观看欧美| 国模人体一区二区| 欧美一级免费视频| 日韩精品dvd| 中文字幕无码毛片免费看| 午夜视频一区二区三区| 国内在线精品| 97国产精品视频人人做人人爱| 日韩大片在线免费观看| 久久黄色免费看| 亚洲欧美国产三级| 手机在线观看免费av| 欧美另类在线观看| 久久香蕉精品香蕉| 男人天堂成人在线| 亚洲欧美偷拍卡通变态| 日韩在线观看视频网站| 国产精品久久久久久久久久久久久| 亚洲精品a级片| 玖玖爱在线观看| 欧美日韩免费网站| 在线观看av黄网站永久| 国产精品高清一区二区三区| 丝袜美腿亚洲一区| 欧美日韩免费做爰视频| 亚洲欧美激情一区| 蜜桃在线一区| 国产一级片黄色| 亚洲国产日韩精品| 噜噜噜久久,亚洲精品国产品| 国产suv精品一区二区| 中文精品久久| av手机在线播放| 亚洲精品久久久久久久久久久久久 |