久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

Electron Windows打包全攻略:工具選型、配置詳解與高頻報(bào)錯(cuò)排查

Electron Windows打包全攻略:工具選型、配置詳解與高頻報(bào)錯(cuò)排查 做過 Electron 開發(fā)的人基本都逃不過這一關(guān)寫代碼一時(shí)爽一到打包就翻車。尤其是 Windows 平臺本地 dev 跑得好好的要產(chǎn)出能發(fā)給別人的 exe中間的坑能寫一本小冊子。我這些年幫團(tuán)隊(duì)處理過不少 Windows 下的 Electron 打包問題也踩過無數(shù)回自己埋的雷從 electron-builder 配置到 serialport 這類原生模塊從 pnpm 兼容到 fpm 報(bào)錯(cuò)幾乎都經(jīng)歷了一遍。今天把 Windows 平臺 Electron 打包的整套思路、核心配置和排查經(jīng)驗(yàn)一次性講清楚給正在被安裝包折磨的朋友一條能直接走通的路。這篇文章適合兩類人一是用 Electron 做桌面應(yīng)用、準(zhǔn)備向 Windows 用戶分發(fā)安裝包的開發(fā)者二是已經(jīng)在打包但卡在白屏、原生模塊報(bào)錯(cuò)、安裝器被攔截等具體問題上的同學(xué)??赐昴阒辽倌芨愣ㄈ逻x對打包工具、寫出一份可靠的 Windows 打包配置、遇到高頻報(bào)錯(cuò)時(shí)知道先查哪里。1. 先選對路子Windows 下 Electron 打包方案怎么定很多人一上來就搜Electron 打包搜出來一堆工具反而懵了。其實(shí) Windows 平臺常用的方案就那么幾種區(qū)別主要在于最終產(chǎn)物形態(tài)、配置復(fù)雜度和對原生模塊的支持情況。這里先把這個(gè)選擇題做對后面少走一半彎路。1.1 electron-packager、electron-builder、electron-forge 怎么選社區(qū)里現(xiàn)在最常被提到的三個(gè)工具是 electron-packager、electron-builder 和 electron-forge。它們不是一個(gè)東西適合的場景也不太一樣。electron-packager 是最早的一批打包工具核心能力就是把你項(xiàng)目的文件和一個(gè)對應(yīng)平臺的 Electron 二進(jìn)制拼在一起輸出一個(gè)可執(zhí)行文件夾。你雙擊里面的 exe 能跑但沒有安裝界面也沒有開始菜單快捷方式。它適合極早期驗(yàn)證或者企業(yè)內(nèi)部直接發(fā)綠色目錄的場景。不過指望它做出正式的分發(fā)安裝包還得再套別的工具比較繞。electron-forge 是 Electron 官方后來推的集成方案把初始化、開發(fā)、打包、發(fā)布串成一條鏈路默認(rèn)集成了 Webpack 或 Vite 模板。如果你是完全新開項(xiàng)目用它起步挺舒服。但它的封裝更深遇到 Windows 安裝包定制需求時(shí)想改 NSIS 這類底層行為往往沒有 electron-builder 那么直觀。electron-builder 是我個(gè)人長期在用的方案。它不是官方出的但生態(tài)非常成熟配置文件集中在一個(gè)字段或一個(gè) yml 里能直接產(chǎn)出 NSIS 安裝包、portable 免安裝 exe、zip 壓縮包同時(shí)也覆蓋 macOS 的 dmg 和 Linux 的 AppImage、deb、rpm。對 Windows 平臺來說它的 NSIS 定制能力和原生模塊處理機(jī)制目前是三個(gè)方案里最讓我省心的。工具主要產(chǎn)物配置復(fù)雜度原生模塊支持多平臺覆蓋electron-packager綠色可執(zhí)行目錄低需自己 rebuild支持electron-builder安裝包 綠色目錄中install-app-deps 自動(dòng)處理支持electron-forge安裝包 可執(zhí)行目錄中集成 rebuild支持1.2 我一直用 electron-builder 的三個(gè)理由第一配置集中。我能用一份 electron-builder.yml 同時(shí)控制 Windows、Linux、macOS 的打包行為不需要在各個(gè)工具腳本之間來回跳。對要長期維護(hù)的項(xiàng)目來說這種一處配置管全平臺的方式非常省事。第二對 Windows 安裝包的控制力足夠強(qiáng)。electron-builder 底層接 NSIS我可以精確控制安裝包是一鍵安裝還是傳統(tǒng)向?qū)б灰试S用戶改安裝目錄要不要?jiǎng)?chuàng)建桌面快捷方式甚至安裝后的卸載程序行為。這些看起來是小細(xì)節(jié)但對最終用戶體驗(yàn)影響很大。第三原生模塊處理省心。Windows 下最常出問題的就是 serialport、sqlite3 這類帶 .node 文件的原生模塊。electron-builder 提供了install-app-deps命令會自動(dòng)讀取你項(xiàng)目里的 Electron 版本并把原生模塊重新編譯成匹配 Electron ABI 的版本。這個(gè)機(jī)制幫我解決過大量打包后模塊崩潰的問題。1.3 先理清前端構(gòu)建和 Electron 打包的分工很多人容易把前端構(gòu)建和Electron 打包混在一起。實(shí)際它們是兩個(gè)階段。前端構(gòu)建階段用 Vite、Webpack 這類工具把你的 Vue、React 代碼編譯成靜態(tài)資源輸出到一個(gè) dist 目錄。Electron 打包階段electron-builder 只負(fù)責(zé)把主進(jìn)程代碼、預(yù)加載腳本、前端靜態(tài)資源、依賴 node_modules 和 Electron 運(yùn)行時(shí)組裝成安裝包。所以項(xiàng)目里通常有兩套配置并存一套是前端腳手架的構(gòu)建配置一套是 electron-builder 的打包配置。兩者之間唯一的聯(lián)系就是 electron-builder 的 files 配置里要包含前端構(gòu)建產(chǎn)物。想清楚這一層后面遇到打包后白屏資源找不到這類問題時(shí)就能快速定位是構(gòu)建階段的問題還是打包階段的問題。2. 開打前先處理好三件事環(huán)境、包管理器、ABI正式跑打包命令之前有三大前置問題必須先解決。很多人在這一步就卡住了而且報(bào)錯(cuò)信息往往容易誤導(dǎo)人比如明明只是網(wǎng)絡(luò)問題卻顯示成下載失敗明明只是 pnpm 的目錄結(jié)構(gòu)與打包器不兼容卻提示找不到模塊。2.1 Windows 上真正需要裝的工具只有這幾樣打包 Electron 應(yīng)用本身不需要裝什么特殊環(huán)境Node.js 是基礎(chǔ)。我建議用 Node.js 的 LTS 版本比如 18 或 20太老的版本跑不動(dòng)新版 electron-builder太新的版本有時(shí)會出現(xiàn)一些依賴兼容問題。如果你的項(xiàng)目里包含原生模塊那 Windows 上還需要 Visual Studio Build Tools。以前的教程經(jīng)常提windows-build-tools一鍵腳本但現(xiàn)在官方更推薦直接安裝 Visual Studio 2022 Build Tools安裝時(shí)勾選使用 C 的桌面開發(fā)工作負(fù)載。否則執(zhí)行 install-app-deps 時(shí)node-gyp 會報(bào)gyp ERR! find Python或者找不到 MSVC 編譯器。另外 Git 不是必須的但很多依賴源安裝時(shí)需要它裝了能少一些莫名其妙的下載失敗問題。代碼簽名工具signtool如果你不配證書暫時(shí)用不上后面第 5.4 節(jié)會專門講 SmartScreen 的問題。2.2 用 pnpm 的項(xiàng)目必須改 node-linker 配置我現(xiàn)在的新項(xiàng)目基本都是 pnpm 管理依賴因?yàn)槭〈疟P、安裝快。但 electron-builder 對 pnpm 的支持一直有歷史遺留問題核心原因在于 pnpm 默認(rèn)使用符號鏈接結(jié)構(gòu)存放 node_modules而不是像 npm 那樣平鋪。electron-builder 在收集依賴時(shí)可能無法按預(yù)期找到某個(gè)包表現(xiàn)出來就是打包后應(yīng)用啟動(dòng)報(bào)找不到模塊 xx。解決辦法是在項(xiàng)目根目錄的.npmrc里加上這么一行node-linkerhoisted如果你用的 pnpm 版本較老也可以用shamefully-hoisttrue效果類似都是讓 node_modules 結(jié)構(gòu)更接近 npm 的平鋪方式。改完之后記得刪掉 node_modules重新執(zhí)行一次完整安裝否則配置不生效。注意不要為了省事跳過這一步。我見過有人用 pnpm 默認(rèn)配置硬打結(jié)果在本機(jī)怎么測都正常換一臺干凈機(jī)器裝上安裝包就白屏或缺模塊最后排查了半天才發(fā)現(xiàn)是依賴結(jié)構(gòu)問題。2.3 native 模塊能不能活下來全看 Node ABI 對不對ABI 這個(gè)詞聽起來深其實(shí)可以這么理解Node.js 原生模塊編譯出來的是一個(gè) .node 文件它和特定版本的 Node 運(yùn)行時(shí)之間存在一套固定的二進(jìn)制接口約定。Electron 內(nèi)置的 Node 版本并不等于你本機(jī)裝的 Node 版本所以直接用你本機(jī)的 node-gyp 編譯出來的原生模塊放進(jìn) Electron 里運(yùn)行十有八九會崩。這是 serialport、robotjs、sqlite3 這類庫打包后報(bào)錯(cuò)的根本原因。正確做法不是手動(dòng) node-gyp rebuild而是使用 electron-builder 提供的命令npx electron-builder install-app-deps它會自動(dòng)讀取 package.json 里的 electron 版本把 dependencies 中的原生模塊重新編譯成匹配 Electron ABI 的版本。每次升級 Electron 或改了原生模塊版本后都要重新跑一次這個(gè)命令否則早晚會踩Module did not self-register這類錯(cuò)誤。3. 核心配置逐段拆解用 electron-builder.yml 管住一切環(huán)境問題解決之后就可以進(jìn)入真正的核心環(huán)節(jié)了寫配置。electron-builder 支持把配置寫在 package.json 的 build 字段里也支持獨(dú)立文件。我推薦獨(dú)立拆出一個(gè) electron-builder.yml因?yàn)榇虬渲迷陧?xiàng)目里會越加越多放在 package.json 里會顯得臃腫。3.1 一份能直接用的 Windows 打包配置下面是一份我在 Windows 項(xiàng)目里常駐的配置模板覆蓋了常規(guī)桌面應(yīng)用的需求appId: com.example.myapp productName: MyApp directories: output: release buildResources: build files: - dist-electron/** - dist/** - package.json asar: true asarUnpack: - **/*.node win: icon: build/icon.ico target: - target: nsis arch: - x64 nsis: oneClick: false perMachine: false allowToChangeInstallationDirectory: true createDesktopShortcut: true createStartMenuShortcut: true shortcutName: MyApp artifactName: ${productName}-${version}-${arch}.${ext} compression: maximum逐段說幾個(gè)關(guān)鍵點(diǎn)。appId 是應(yīng)用唯一標(biāo)識建議用反域名格式。productName 是安裝完成后在系統(tǒng)里顯示的應(yīng)用名也是安裝包文件名的組成部分。directories.output 指定安裝包輸出目錄我習(xí)慣用 release這樣不會和前端構(gòu)建產(chǎn)物目錄混在一起。files 是打包內(nèi)容的白名單非常重要。這里我只讓dist-electron主進(jìn)程構(gòu)建產(chǎn)物、dist前端靜態(tài)資源和 package.json 進(jìn)包。如果你不加這個(gè)字段electron-builder 會把整個(gè)項(xiàng)目目錄都收進(jìn)去本機(jī) node_modules 里的開發(fā)依賴、測試文件、.env 全都可能被塞進(jìn)安裝包既臃腫又危險(xiǎn)。asar 字段默認(rèn)就是 true作用是把應(yīng)用代碼打成一個(gè) asar 壓縮包保護(hù)源碼結(jié)構(gòu)、減少文件數(shù)量。但原生模塊需要單獨(dú)處理所以加了asarUnpack把 .node 文件排除在 asar 之外。后面 serialport 那節(jié)會繼續(xù)展開。3.2 Windows 目標(biāo)格式和架構(gòu)怎么選win.target 可以指定多個(gè)目標(biāo)和架構(gòu)。最常見的三個(gè)目標(biāo)nsis標(biāo)準(zhǔn) Windows 安裝程序支持安裝目錄選擇、快捷方式創(chuàng)建、卸載入口適合正式分發(fā)。portable免安裝的單 exe運(yùn)行時(shí)會自解壓到臨時(shí)目錄適合給非技術(shù)用戶快速體驗(yàn)。zip綠色壓縮包適合企業(yè)管理員批量部署或開發(fā)者自己分發(fā)。架構(gòu)方面目前 x64 是主流絕大多數(shù) Windows 10/11 用戶都是 64 位系統(tǒng)。如果用戶群體里還有大量老舊電腦可以同時(shí)打 x64 和 ia32。arm64 目前有需求但不多主要針對 Surface Pro X 這類設(shè)備。建議用一個(gè)變量控制避免把架構(gòu)寫死在代碼里win: target: - target: nsis arch: - x64artifactName 里的${arch}就是用來區(qū)分架構(gòu)的否則 x64 和 ia32 版本同名發(fā)布時(shí)就亂了。3.3 NSIS 安裝體驗(yàn)調(diào)優(yōu)從能裝到好裝NSIS 配置是 Windows 安裝包體驗(yàn)的關(guān)鍵。很多人打出來的安裝包雙擊后直接裝了用戶連裝到哪里都不知道卸載時(shí)也找不到入口體驗(yàn)很差。我一般會關(guān)掉 oneClick開啟傳統(tǒng)安裝向?qū)J?。oneClick 設(shè)為 false 后用戶安裝時(shí)會有選擇安裝目錄是否創(chuàng)建快捷方式這些步驟對普通用戶更友好。allowToChangeInstallationDirectory 設(shè)為 true配合前面那個(gè)設(shè)置用戶才能真正改安裝目錄。perMachine 我通常設(shè)置為 false這樣默認(rèn)安裝到當(dāng)前用戶目錄不需要管理員權(quán)限也不會觸發(fā) UAC 彈窗如果產(chǎn)品需要安裝到 Program Files那就要設(shè)為 true并接受 UAC 提權(quán)。還有一個(gè)容易忽略的點(diǎn)shortcutName 最好和 productName 保持一致否則用戶安裝完找不到應(yīng)用名字對應(yīng)的快捷方式會以為安裝失敗了。注意NSIS 安裝路徑盡量不要讓用戶選中文或特殊字符目錄。雖然 Windows 能創(chuàng)建中文明目錄但后續(xù)應(yīng)用讀寫文件時(shí)個(gè)別原生庫會在路徑編碼上出問題這個(gè)坑比較隱蔽。4. 完整實(shí)操流程從項(xiàng)目目錄到能分發(fā)的安裝包配置寫完之后實(shí)際操作其實(shí)就幾條命令的事但每一步都有值得注意的細(xì)節(jié)。我第一次打 Windows 包時(shí)因?yàn)椴恢酪?win-unpacked 目錄直接在安裝包裝上踩了半小時(shí)后來逐步形成了一套標(biāo)準(zhǔn)流程。4.1 首次打包兩條命令跑通先看 unpacked 目錄安裝 electron-builder 后先在 package.json 里配好腳本{ scripts: { build:app: vite build, pack:dir: electron-builder --dir, pack:win: electron-builder --win --x64 } }第一次執(zhí)行打包時(shí)不建議直接打安裝包而是先跑electron-builder --dir。這個(gè)命令不會生成 NSIS 安裝程序只會生成一個(gè)win-unpacked目錄里面就是解壓后的完整應(yīng)用。你可以直接運(yùn)行里面的 exe驗(yàn)證主進(jìn)程邏輯、前端資源、原生模塊是否正常。確認(rèn) win-unpacked 里的應(yīng)用沒問題后再執(zhí)行pack:win產(chǎn)出正式安裝包。這樣能把應(yīng)用本身有問題和安裝包制作有問題兩個(gè)環(huán)節(jié)隔離開排查時(shí)思路清晰很多。首次打包還需要下載 Electron 二進(jìn)制和 NSIS 工具這一步最容易卡住。如果長時(shí)間停留在下載階段可以先設(shè)置鏡像源$env:ELECTRON_MIRROR https://npmmirror.com/mirrors/electron/ $env:ELECTRON_BUILDER_BINARIES_MIRROR https://npmmirror.com/mirrors/electron-builder-binaries/設(shè)置后重新執(zhí)行打包命令下載進(jìn)度會明顯變快。下載完的文件會緩存在%LOCALAPPDATA%\electron-builder\Cache后續(xù)打包不會再重復(fù)下載。4.2 圖標(biāo)、版本號和文件屬性一次配到位如果你不配置圖標(biāo)安裝包和應(yīng)用 exe 會使用 Electron 默認(rèn)圖標(biāo)一眼就能看出來不是專業(yè)產(chǎn)物。Windows 平臺對圖標(biāo)格式有要求必須用 .ico 文件且建議包含 256x256 尺寸。很多設(shè)計(jì)工具直接導(dǎo)出的 png 不能直接用得先轉(zhuǎn)成 ico。拿到 icon.ico 后放到 build 目錄下在 win 配置里指定win: icon: build/icon.ico版本號方面electron-builder 會自動(dòng)讀取 package.json 里的 version 字段所以一定讓 version 和應(yīng)用實(shí)際版本同步。除此之外可以通過win.signAndEditExecutable相關(guān)的配置來寫入文件屬性信息比如公司名、產(chǎn)品描述。做企業(yè)內(nèi)部分發(fā)時(shí)這些細(xì)節(jié)會讓系統(tǒng)屬性里的信息看起來正規(guī)很多。4.3 serialport 這類原生模塊的正確打包姿勢serialport 是很多硬件桌面項(xiàng)目繞不開的庫也是 Electron 打包問題里出現(xiàn)頻率最高的一類。它的問題集中在兩個(gè)點(diǎn)ABI 編譯和文件路徑。ABI 編譯前面講過打包前一定要執(zhí)行npx electron-builder install-app-deps。不要手動(dòng)執(zhí)行 npm 的 rebuild否則編譯出來的版本只匹配本機(jī) Node不匹配 Electron。文件路徑問題在于serialport 編譯出來的 .node 文件如果被打進(jìn) asar 壓縮包運(yùn)行時(shí)無法直接加載。所以配置里要加 unpack 規(guī)則asarUnpack: - **/*.node - **/node_modules/serialport/**這里把 serialport 整個(gè)模塊目錄都排除出 asar 了確保它的 .node 文件和動(dòng)態(tài)依賴能被安全訪問。改完配置后重新打包一般能解決大多數(shù) serialport 相關(guān)報(bào)錯(cuò)。如果還是不行多半是 serialport 的依賴?yán)锶鄙?vcruntime140.dll 這類運(yùn)行庫或者安裝了非官方精簡版系統(tǒng)的用戶環(huán)境里缺運(yùn)行庫。遇到這種情況可以把需要的 dll 放到 extraResources再在應(yīng)用啟動(dòng)時(shí)手動(dòng)加載但這種情況相對少見。4.4 白屏和布局異常絕大多數(shù)卡在這里Electron 應(yīng)用打包后白屏是出現(xiàn)率最高的前端問題十次里有八次是路由模式導(dǎo)致的。開發(fā)環(huán)境用的是 localhost 地址路由用 createWebHistory 沒問題但打包后應(yīng)用通過 file:// 協(xié)議加載本地文件history 路由會直接失效頁面空白。解決辦法有兩個(gè)簡單粗暴的是把前端路由改成 createHashHistory另一種是保留 history 模式但把前端構(gòu)建的 publicPath 配成相對路徑并在 Electron 里用自定義協(xié)議加載。前者實(shí)現(xiàn)快后者體驗(yàn)更接近標(biāo)準(zhǔn) web 應(yīng)用都可以。熱詞里還有vue 打包后 布局異常這類問題。我排查過的一個(gè)典型案例是CSS 里引用的圖片路徑是絕對路徑打包后在本地 file:// 協(xié)議下加載失敗導(dǎo)致樣式失效、布局全亂。把構(gòu)建配置里的 base 或 publicPath 改成相對路徑絕大多數(shù)這類問題都能解決。所以遇到白屏或布局異常先別急著懷疑 electron-builder 配置重點(diǎn)檢查三樣?xùn)|西路由模式、構(gòu)建 publicPath、資源引用路徑。用electron-builder --dir生成目錄后可以直接在本地運(yùn)行 exe打開開發(fā)者工具看 Console 報(bào)錯(cuò)比反復(fù)打安裝包高效很多。5. 高頻報(bào)錯(cuò)與排查實(shí)錄直接對著癥狀找答案下面這些報(bào)錯(cuò)和現(xiàn)象是 Windows 打包里最常見的。我把它們整理成問題排查表你在實(shí)際操作中可以直接對照省掉到處搜的功夫。5.1 卡在下載 winCodeSign / nsis是網(wǎng)絡(luò)而不是配置錯(cuò)了很多初次打包的人看到Downloading winCodeSign或Downloading nsis卡住以為配置寫錯(cuò)了實(shí)際上只是 electron-builder 從 GitHub Releases 下載輔助工具失敗或特別慢。這類問題的典型日志是反復(fù)重試后報(bào) timeout 或 404。解決辦法就是前面提到的設(shè)置鏡像源。如果公司內(nèi)網(wǎng)有統(tǒng)一的 npm 鏡像也可以把 electron 和 electron-builder 的二進(jìn)制鏡像一起配置進(jìn)系統(tǒng)的環(huán)境變量團(tuán)隊(duì)所有人共享。另外既然下載工具卡頓是常態(tài)我在團(tuán)隊(duì)內(nèi)部會建議維護(hù)一個(gè)打包緩存目錄的備份。把%LOCALAPPDATA%\electron-builder\Cache里已經(jīng)下載好的文件壓縮存檔換新機(jī)器時(shí)直接解壓到對應(yīng)目錄能省不少時(shí)間。5.2 遇到 fpm 相關(guān)報(bào)錯(cuò)先別急著重裝環(huán)境fpm 報(bào)錯(cuò)在很多打包場景里都會出現(xiàn)但它往往不是因?yàn)槟愕?Electron 配置有誤而是因?yàn)槟阍噲D在某個(gè)平臺上去構(gòu)建另一個(gè)平臺的安裝包或者構(gòu)建 deb/rpm 包時(shí)依賴不對。fpm 早期是 electron-builder 在 Linux 下生成 deb/rpm 包時(shí)依賴的外部工具如果你的 Linux 環(huán)境缺少 Ruby 和 fpm就會看到類似cannot exec fpm或fpm failed的報(bào)錯(cuò)。新版 electron-builder 已經(jīng)內(nèi)置了部分能力但老項(xiàng)目或特定發(fā)行版仍可能遇到。更常見的情況是有人在 Windows 上嘗試直接打 Linux 包然后遇到 fpm 系列問題。這是最不建議做的事。Windows 平臺老老實(shí)實(shí)打 Windows 包Linux 包交給 Linux 環(huán)境或 CI 去完成macOS 包也同理??缙脚_打包看似方便遇到了坑才知道代價(jià)更大。5.3 原生模塊打進(jìn)包后仍報(bào)錯(cuò)按順序查三點(diǎn)如果 serialport 或者其他原生模塊在 win-unpacked 里運(yùn)行時(shí)報(bào)錯(cuò)按下面順序排查基本能定位第一先看報(bào)錯(cuò)里有沒有was compiled against a different Node.js version或Module did not self-register。有的話幾乎可以確定 ABI 沒對上重新執(zhí)行electron-builder install-app-deps。第二檢查 .node 文件是否進(jìn)了 asar。把 win-unpacked 里的 resources/app.asar 解包看一下如果 serialport 的 .node 文件在 asar 內(nèi)部就要調(diào)整 asarUnpack 配置重新打包。第三檢查系統(tǒng)運(yùn)行庫。在干凈的 Windows 虛擬機(jī)里測試如果報(bào)錯(cuò)提示缺 dll說明用戶環(huán)境可能缺 Microsoft Visual C Redistributable。這種情況要要么在安裝包里帶上運(yùn)行庫要么在文檔里標(biāo)注前置要求。5.4 SmartScreen 攔截安裝包個(gè)人開發(fā)者怎么應(yīng)對“Windows 已保護(hù)你的電腦”這個(gè)提示用 Electron 分發(fā)過應(yīng)用的人都見過。原因很簡單你的 exe 沒有代碼簽名證書Windows Defender SmartScreen 對發(fā)布者不明的程序默認(rèn)不信任。如果你只是內(nèi)部工具沒有證書可以暫時(shí)不處理但要讓團(tuán)隊(duì)知道安裝時(shí)可能需要點(diǎn)擊更多信息然后選擇仍要運(yùn)行。如果你要公開發(fā)布我建議認(rèn)真考慮買代碼簽名證書普通 OV 證書和 EV 證書差價(jià)不小但 EV 證書能讓 SmartScreen 更快積累信譽(yù)。有一點(diǎn)必須強(qiáng)調(diào)不要去網(wǎng)上找那些所謂的免殺處理過白名單手段這類操作既不專業(yè)也有合規(guī)風(fēng)險(xiǎn)。正路就是證書簽名或者先通過開源發(fā)布讓應(yīng)用積累用戶反饋和信譽(yù)。SmartScreen 檢測的是數(shù)字簽名信任體系常規(guī)發(fā)布手段短期有提示是正常的堅(jiān)持正規(guī)分發(fā)聲譽(yù)會逐步建立起來。5.5 安裝包異常大、.env 和源碼被打進(jìn)去怎么查進(jìn)程構(gòu)建產(chǎn)物通常只有幾兆但如果你 files 配置沒寫好把整個(gè)項(xiàng)目目錄包含進(jìn)去node_modules 里開發(fā)依賴那些東西會被全部打進(jìn)去安裝包隨隨便便超過 150MB甚至 300MB。排查方法很直接用electron-builder --dir打包出目錄后進(jìn)win-unpacked/resources/查看 app.asar 的體積再用npx asar list app.asar查看文件清單。重點(diǎn)檢查有沒有出現(xiàn) .env、.git、src 目錄、測試文件等不該出現(xiàn)的文件。一旦發(fā)現(xiàn) .env 被打進(jìn)包立刻處理把 .env 加入 .gitignore 只是第一步還要在 electron-builder 的 files 配置里顯式排除并且輪換掉所有已泄露的密鑰。這件事千萬別拖我在實(shí)際工作中見過不止一次因?yàn)榇虬渲脤捤蓪?dǎo)致密鑰外泄的事故。5.6 安裝不完整或升級失敗常見的用戶側(cè)原因熱詞里大量出現(xiàn)xx windows 安裝未完成類似問題Electron 應(yīng)用自己也會有這個(gè)現(xiàn)象。絕大多數(shù)情況不在打包本身而在安裝和升級過程。安裝不完整常見于殺毒軟件把安裝包釋放的臨時(shí)文件攔截了或者安裝目錄沒有寫權(quán)限。NSIS 安裝包在解壓過程中被安全軟件掃描到異常行為直接殺掉進(jìn)程就會出現(xiàn)安裝到一半失敗的表現(xiàn)。升級失敗常見于舊版本應(yīng)用還在運(yùn)行安裝程序嘗試覆蓋文件時(shí)發(fā)現(xiàn)文件被占用。所以做升級邏輯時(shí)先引導(dǎo)用戶退出舊版本再啟動(dòng)新安裝包。如果是 perMachine 模式還要確保用戶有管理員權(quán)限否則 UAC 提權(quán)失敗也會中斷安裝。6. 多平臺分發(fā)與發(fā)版前的自檢清單Electron 的好處是寫一套代碼能跑三個(gè)平臺但能跑不代表能打包到全平臺。尤其是 Windows、Linux、macOS 的打包環(huán)境差異很大處理好這些差異才能讓分發(fā)流程穩(wěn)定不折騰。6.1 想同時(shí)出 Windows / Linux / macOS在 CI 里各打各的electron-builder 支持一條命令同時(shí)指定多平臺比如electron-builder --win --linux但這個(gè)做法我不推薦你直接在本機(jī)執(zhí)行尤其是 Windows 上交叉打 Linux 包。deb/rpm/AppImage 需要 Linux 工具鏈macOS 的 dmg 更是只能在 macOS 上完成。更穩(wěn)妥的做法是走 CI比如 GitHub Actions 或公司的 Jenkins。Windows 上跑 Windows 打包任務(wù)Ubuntu 上跑 Linux 打包任務(wù)macOS 上跑 macOS 打包任務(wù)各平臺各打各的產(chǎn)物互不干擾。這樣也方便在發(fā)布時(shí)自動(dòng)生成各平臺的安裝包統(tǒng)一上傳到 realease。如果你用 GitHub Actionsworkflow 核心思路大致是先 checkout 代碼再安裝依賴然后執(zhí)行對應(yīng)的打包命令- name: Setup Node.js uses: actions/setup-nodev4 with: node-version: 20 - run: npm ci - run: npx electron-builder --win --x64這樣一套配置維護(hù)一份三個(gè)平臺都能持續(xù)產(chǎn)出也避免了本機(jī)交叉編譯的許多歷史遺留坑。6.2 我每次發(fā)版前都會過一遍的 8 項(xiàng)檢查經(jīng)常打 Windows 包之后我形成了一個(gè)比較固定的發(fā)版前檢查清單每次照著走一遍能少犯很多低級錯(cuò)誤。檢查項(xiàng)操作方式常見問題主進(jìn)程加載路徑確認(rèn)開發(fā)路徑和生產(chǎn)路徑分開用了 file:// 或本地服務(wù)器方式不一致導(dǎo)致白屏前端路由模式確認(rèn)生產(chǎn)環(huán)境用 hash 或自定義協(xié)議history 模式在 file:// 下白屏資源引用路徑構(gòu)建產(chǎn)物 publicPath 設(shè)成相對路徑絕對路徑導(dǎo)致圖片、CSS 加載失敗原生模塊 ABI執(zhí)行 install-app-deps原生模塊報(bào) NODE_MODULE_VERSION 錯(cuò)誤asar 文件清單用 asar list 抽查.env、源碼、測試文件混入安裝包體積觀察是否出現(xiàn)異常膨脹files 配置過寬開發(fā)依賴混入干凈環(huán)境安裝測試用虛擬機(jī)或新用戶測試缺運(yùn)行庫、SmartScreen 攔截、安裝路徑異常升級覆蓋測試舊版本運(yùn)行中安裝新版本文件被占用、版本回退、配置丟失這套清單我從一開始的想到什么查什么慢慢迭代成了現(xiàn)在的固定模板。做完再發(fā)布心情都會穩(wěn)不少。最后再分享一個(gè)我自己摸索出來的習(xí)慣每次打包前先花一分鐘看一下 electron-builder 的版本和 Electron 的版本別讓這兩個(gè)核心依賴長期停留在很舊的版本上。Electron 升一個(gè)大版本Builder 也要跟著升否則很容易出現(xiàn)新版 Electron 和舊版 Builder 不兼容的問題。打包這個(gè)事做到后期拼的其實(shí)不是花活而是把每一步該確認(rèn)的事情老老實(shí)實(shí)確認(rèn)完。希望這篇文章能幫你少走幾步彎路早點(diǎn)把精力放回你的產(chǎn)品本身。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情五月天插| 蜜色网色哟哟| 凹凸视频在线一区二区| 日韩精品作爱导航| 91丨九色丨熟女高潮| 黄色免费网| 啊啊啊啊免费视频| 97在线播放| 蜜桃精品一区二区三区ww| 色狠狠 - 百度| 欧美AB在线| 啊啊啊啊啊啊啊在线| 神马精品视频| 丝袜夫妻自拍| 在线 制服丝袜中出 人妻| 久操凹凸视频| 青娱乐国产精品| 尹人免费观看视频在线| 欧美不卡五十路| 久久丝袜| 中国特猛少妇色xxx| 好屌色综合| 人妻精品4K4K4K4K4| 91色艳| 97色色婷婷| 亚欧毛片基地国产毛片基地| 亚洲全色网| 亚洲AV永久无码精品成人调教| 天天日日本| 99亚亚热| 区日韩亚洲乱码av电影| 99超碰色| 1区2区3区中文字幕日韩| 欧美亚州手机在线| 5278欧美一区二区三区| 精品福利| 中文字幕日韩电影人妻| 日本天天操| 国产精品日韩在线一区| 激情熟女12P| 超碰97亚洲| 久久成人东京热人妻| 屌妞视频久久久久久久久久久久| 黄呦呦在线| 男人的天堂久久狠| 2020中文字幕在线| 东京热,男人的天堂| 欧美大的香蕉有线电视视频| 乱伦熟女论坛| 人人人摸人人| 成人亚欧免费视频| 女同性恋久久| 亚码激情| nuu12国产麻豆精品| 国产人妻精品一区二区三区秋霞 | 色97| 东京太热久久久| 99久久婷婷国产综合| 睡产熟女乱伦| 农村妇女一级二级三级视频| 免费看污网站| 亚洲日精品| 97干97色| 亚洲精品国产熟女久久久久久| 亚洲一区二区三区中文字幕| 日韩乱码Av| 哈哈操 大香蕉| 精品人妻一区二区三区视频在线| 亚洲中文国际强奸字幕| 亚洲天堂,男人| 超碰久久中文| 久久精品中文| 麻豆精品一区二区三区四区免费观看| 摸奶性爱视频网站在线免费播放| 中日韩欧美精品无码AⅤ一区二区| 黑人精品成人一区二区三区| 日韩97视频!在线| 日韩精品三级片长长久久| 久久久亚洲精品中文字幕人妻| 精品视频一区二区| 人妻精品综合中文字幕在线 | 久草精品视频| 91综合网| 色婷婷久久| 97久久精品国产| 中文字幕无码不卡啪啪| 亚洲性爱成人| 日韩AV片| 精品人妻一区二区三区蜜桃视频| 亚洲色图综合| www.超碰| 偷窥自拍亚洲| 被体育老师抱着c到高潮| 欧洲射精91| 2017天天操天天日| 国产女人操逼视频| 黄色高清久久无码依人| 日本Suv精品一区二区| 另类小说综合网| 欧美色三级片91| 国内精品不卡无毒99999| 97精品视频免费| 久久欧美激情| 国产亲戚伦亲在线| 狠狠躁日日躁夜夜躁A| 欧州一区二区三区四区| 欧美美女啪啪视频| 69精品| 激情专区综合| 亚洲情色 自拍| 久久成人国产| 97精选久久| 欧美操人视频| 67194无码不卡| 91精品导航| 日本日皮视频逼| 综合色拍| 日本一区二区不卡精品| 天天操天天看| 熟女人妻av在线资源,黄色的资源 粉嫩国产精品久久粉嫩 | 久操99| 好涩综合| 920日本午夜免费| 婷婷性网| 五月开心网| 97网色| 中文字幕永久在线| 欧美日韩中文视频播放| 男人的天堂2018.| 免费精品无码一级毛片牛牛影视| 亚洲限制级| 在线一道啪| 欧洲大香蕉| 自拍偷拍2025在线观看| 欧美色另类| 九九热在线视频| www欧美91| 四月丁香婷婷| 2017人人操,人人摸| 亚洲色9| 中国一级操逼视频| 欲综合网| 情色日播放AV| 草草影院日本第一页| 好屌色综合| 国产亚州精品美女久久久免费| 欧美线天码中字| 亚洲色五月| 综合久久2017| 内射黑丝袜| 国产按摩一区二区三区| 奇米狠999| 情色图区| 97国产伦理| 九九热在线精品视频| 无码国产精品96久久久久孕妇| 97色欧州| 五月天成人综合| 亚欧无码线免费观看视频| 色九九九综合| 亚欧精品久久久久久久久久久| 91精品无码久久久久久久| 男人天堂综合| 亚洲不卡一| 亚洲欲色9532548967一区| 日韩极品无码B| 久久久天美| 亚洲精品欧美专业| 色情成人五月天| 人人看黄色视频| 激情小说亚洲视频| 草伊人高潮喷水超碰| 国产92麻豆天美精品色欲5| 日日躁夜夜躁狠狠躁超爽| av毛片aaaaa免费看| 情色日播放AV| 亚洲人人操| 国产精品日本无码A片| 91男同| 97亚洲一区| 簧片免费看视频| 中文字幕一区二区三区字幕| 成人免费性爱视视| 欧美日本不卡在线| 国产精品久久久久久夜夜夜夜| 亚洲AV无码天美传媒一区| 一级aaaaa欧美中文字幕录像片| 91精品人妻| 爱妃国产亚洲视频中文字幕| 久久久久久国产成人| 色五月激情综合网| 超碰色综合| 亚洲啪AⅤ永久无码| 婷婷三区| 久久精品无码熟妇一区二区三区视频导航| 超碰 另类 欧美| 丁香五月影院| 福利在线黄片| AV污污污污| 超碰国产精品久| 国产精品久久久久久久久久久久久久吹 | 丝袜美腿亚洲| 欧美日韩小说| 人妻激情视频| 超碰人妻97| 91在线一起| 精品久久久一本一道| 欧亚揄拍偷拍精品视频| 日欧毛片久久| 国产美女高潮视频| 婷婷激情丁香| 久操97| 青草一区二区| 婷婷伊人五月| 久久久精品91八戒| 18禁免费视频| 精品人妻美妇91job| 3p国产色噜噜一区| 伊人成人中文字幕久久网| 人妻啊啊人妻啊| 久久久九97| 欧美美女自慰一区二区三区| 九九九久千久久激情蜜桃在线看 | 亚洲色图A| 欧美性夜| 1000部熟女视频在线观看| 国产白丝精品在线观看| 草莓精品视频在线免费观看| Blackedraw视频一区二区| 全球成人中文在线| 久7色| 密臀在线免费观看| 青青操视频在线| 超碰一区二区| 亚洲国产熟妇综合色专区| 亚洲色图欧美一区二区不卡| 日本成人A片免费看| 欧美人妻一区| 91在线免费观看处女| 欧美日韩大陆黑人少妇99| 男人的天堂日本东京热| 超碰97 线线 在现| 岛国AB视频| av大香蕉| 91网站视频在线观看| 夜夜嗨免费视频| 国产久久久久久| 欧美十八禁视频| 欧美强奸一区二区诱惑| 中文字幕在线观看第二页| 是还免费视频1727我| 亚洲同性aV综合| 强奸抽插av| 思思热影视| 蜜臀久久一区二区| 亚欧洲一区二区视频| 婷婷爽人人婷婷爽视频| 国产高清精品福利| 97超碰天天爱天天爱| 综合自拍| 欧美人妻一区| 国产高清不卡视频| 91九九| 亚洲精品日日夜夜52| 欧美少妇一区二区三区| 国产91美女视频| 亚洲精品国产专区在线观看| 日本有码影片下载| 男人天堂毛片| 精品国产丝袜一区二区三区乱码| 日韩另类色图| 超碰社区97| 精品国产91内射久久| 人妻久久久| 东北操逼| 欧美视频一区二区在线| 亚洲美女 晚间男人天堂 | 国产强奸乱伦无码视频| 99视频精品| 四虎在线免费视频| 亚洲另类小说卡通动漫| 白丝AV网站| 大香蕉综合网| 日韩精品一区二区三区四虎影视| 伊人欧美大香蕉视频| 精品久久久久久中文| 中文字幕乱碼在线| 成人一级性爱| 激情综合网一盗摄| 国产av又色又爽又黄| 久久久久久久久九九久孕交| 狠狠婷婷亚洲中文综合久久| 91 在线亚洲| 蜜臀久久99精品久久久久久-DVD| 亚洲人成网www| 伊色久人大在线| 亚洲中文字幕网| 亚洲天堂电影网99999| 精品区国产区一区二区三区| 俺也射| www…国产操逼| 亚洲文学偷乱拍啪啪啪啪| 色官网色综合| 狠狠干2020| 日本一区二区做爱的视频| 天天射夜夜| 伊人久操| 亚洲色电影在线| 91oumei| 三上悠亚在线毛片91| 超碰超碰95| 亚洲第一页第二页激情| 精品视频久久区| 亚洲日韩成人性爱视频| 日韩有码专区| 极品粉嫩少妇视频| 日本日逼视频网| 伊香蕉综合久久久久久久噜噜噜| 亚洲色图久久成人| 中文字幕AV乱伦| 亚洲美女 晚间男人天堂 | 久久久久国产精品喷潮免费观看臀| 欧美 亚洲 综合 制服 另类| 久久xxxx| 18禁在线视频| 深夜激情| 久久中日麻豆| 精品一区二区3区| 啪啪啪精品| 国产又长又大又粗的视频| 激情综合五| 国产极品粉嫩馒头一线天av| 亚洲熟妇综合久久久久久| 99热欧美| 中文字幕日韩综合| 熟妇在线视频一区二区| 大香蕉淫人| 青青草自拍视频在线播放| 国产在线能看的你懂的| 茄子社区国产精品| 天天综合~91入口| 特级毛片特黄久久免费看| 蜜臀一二三区| 天操老女人| 五月婷视频| 久久久久久久久久va| 久久激情视频| 亚洲少妇激情视频| 亚洲天堂中文字幕无码男同| 日本天天操| 欧美v日韩v亚洲v最新在线| 九九av| 天天91~综合入口| av在线免费一区二区| av中亚| 天欧美在线| 色91综合网| 91校园春色长篇| AV污污污污| 免费精品国偷自产在线在线 | 最新亚洲黄色免费电影| 性欧美999| 国产情色第一第二页在线观看| 婷婷香蕉欧美在线一区二区三区| www久久99| 亚洲免费成人在线高清无码视频 | 国产曰批免费观看久久久| 超碰91在线| 一本一道久久综合久久| 久久婷婷欧美| 国产一区二区三区久久精品太古里| 殴美,日韩国产伦精品| 一起草精品人妻| 久久久久13| 国产AV无码AV| 中文字幕 国产 精品| 激情国产乱伦Av| 操B视频日韩无码| 欧差乱伦二三| 亚洲一区日韩精品| 女性喷水高潮在线观看| 狠狠操,使劲操| 久久久97| 狠狠操,使劲操| 高清有码一区二区| 日韩性爱小视频| 97免费在线视频| 91日韩国产欧美亚洲另类精盘州至城都| 五月天亚洲网| 色综九九九一区| 骚妻少妇精品性色无码四色A V| 日本男人插女人的逼黄色| 熟女中出视频| 强奸熟女一区二区三区 | 国产无码三级视频在线观看| 久久久久久99AV无码免费网站| 日韩电影在线观看网址| 成人无码在线视频网站| 亚洲va有码在线天堂| 久久国产免费激情视频| 久久肏大逼| 啪啪综合网| 天天色综合图片| 最新一二三区视频| 亚洲免费97免费| 亚洲鸥美色图| 精品久久97| 久久亚洲AV无码白度| 操逼网站网站| 国产三级日产三级韩国三级 | 91精品婷婷国产综合久久| 蜜汁欧美| 操人人| 国产激情片在线观看| 97操操| 草b在线| 日韩丝袜高跟制服在线观看| 91bbbbbb| 亚洲色色探花| 激情综合网激情五月天| 后入内射蜜桃臀| 成人久久久精品| 97超碰超| 人妻精品视频一区二区| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 高清一区AV无码| 婷婷深爱五月| 97久久免费| 国产精选视频| 操逼逼中文字幕| 一区二区三区精品黑丝白丝酒店对鸡 | 久久国产视频专区一二三| 操曰本熟女| 91另类| 殴美在线AⅤ| 嗯嗯嗯啊啊啊在线免费观看| 亚洲欧美国产精品久久久久久久| 精品无码欧美三级| 日韩三级一区 | 91丨熟女丨丰满熟女| 欧美亚洲激情小说| 天天狂操夜夜狂日| 99热99在线播放激情| 丁香五月激情啪啪| 九九九九一级| 亚洲天堂男人的天堂| 操逼逼福利视频| 欧美日韩操逼嗦吊| 国产天天骚| 日本三级精品| 日韩不卡a级视频专区| 五月天春色激情网| 欲香欲色综合天天伊人| 日韩女模中文造逼| 中文字幕乱偷人妻久久艾草网| 欧美在线91| 婷婷丁香五月综合| 国产中文字幕在线观看| 成人a大片在线观看| 亚洲色图激情小说| 午夜理论片在线观看免费| 久久精品免费| 在线日韩日本亚洲国产| 国产欧美日韩女同性恋ww喷水精品 | 2024人人操人人摸| Julia Annxxxxx| 制度丝袜99| 天天做天天爱天天爽AV| a片自拍直播视频| 黄色无码高清黄色无码网站| 99操碰| 亚洲图片视频小说| 在线播放中文字幕| 亚洲男人在线观看天堂| 高清无码网址| 操啊国产| 极品极品色影院| 青青草狠狠撸| 性爱Av免费| 色天堂综合| 第四色奇米影视777| 91电影色诱| 欧美性爱第一页久久| 熟女自慰久久久| 久久中文字幕一区不卡| 久草男人天堂| 91超碰人人操| 亚洲一区日韩精品中文字幕| 夜草欧美| 午夜精品久久久久久久99蜜桃一| 精品人妻15区| 色综合91| 草莓精品视频在线免费观看| 精品中文一区二区| 色999五月色| 日夜伊人网| 男人的天堂色偷偷青青草视频婷婷网| 国产一区在线观看无码AV| 丝袜av一区二区三区| 五月天玖玖资源站| 97在线视频免费观看| 秋霞男人网| 家庭乱伦网站国产| 日韩精品-原创伙伴| 影音综合网| 中文字幕交换人妻| 日本色日夜干| 伊人久久亚洲色欲综合网站 | 传媒在线观看一区二区三区| 一区久久久二区| 综合欧美激情网| 96久久久久久久| 91在线色| 国产日本久久免费精品| 久久性爱视频免费看| 精品少妇人妻| 久久一区无码| 韩国黄色片精品久久久| 国产按摩一区二区三区| 搡老熟女免费视频| 日韩综合第八区国产精品| 99自拍B亚洲| 久久久久国产一区二| 亚洲美女av无码| www.acm成人黄色毛片| 欧美超碰9798| 五月婷视频| 欧美一级久久久久久久大片动画| 国产精品天堂| 久久精品女同亚洲女同13| 亚洲最大的黄色电影网站。| 亚洲午夜AV| 国产女人和拘做爰视频| 麻豆精品一区二区三区四区免费观看| 性感美女啊啊啊在线| 嗯嗯啊啊操死我| 婷婷五月成人| 91精品黄在线观看| 欧美日韩精品一区二区三区高清| 久久性爱视频99| 欧美精品黑人猛交高潮| 国产91丝袜 在线播放| 日本中文字幕熟妇| av线电影| 操淫穴亚洲五月丁香 | 97干天天| 69精品人人人人| 日本免费不卡二区| 成人贴图日韩欧美| 97国产超湿| 99成人| 色色五月天婷婷| 99久久9| 久久久夜夜嗨免费视频| 大伊香蕉在线视频免费| 日本性爱少妇| 成人日本视频人妻在线| 国产CHASE男男GAYGA 毛多色婷婷| www亚洲免费| 欧美亚洲素人制服精品| 日韩性爱一级片| 人人操人人色网| 69国产对白刺激| 日语五十路和六十路亚洲国产精品| 中文字幕欧美丝袜07资源| 欧美天天干| 久久久精品网站| 午夜美女福利视频| 青青青国产手线观看视频2| 免费中文综合精品| 再深点灬舒服灬太大了添视频| 九月激情婷婷| 免费在线观看国内色片网站网址| 国内精品伊人久久久久影院会| 岛国视频免费在线观看| 亚洲精品成人激情在线| 国产女生在线| 水野优香在线观看| 超碰在线974| 艳尻美人妻| 免费97视频| 超碰天天去日穴| 久久久久久久97| 欧美成熟性爱精品| 最新日产中文在线麻豆| 九热视频| 97爱欧美| 青青草导航在线视频| 欧综合网| 国产最新小视频在线播放下载| 国精精品无码一二三区水多多| 91伊人大香蕉| 亚洲在钱| 国产传媒av天美传媒在线| 国产又色又粗又黄又爽| 亚洲一本大道中文字幕无码在线| 欧亚综合一卡二卡中文字幕| 麻豆伊人网| 超碰4A| 亚洲一区在线观看欧洲| 婷婷影院入口| 免费的av网| 超碰 国产熟女精品一区| 亚洲久久久久| 欧美东京热精品A∨| 男人的天堂在线有码| 性爱AV天堂| 97Ai亚洲| 国产女性无套 免费观看| 东京热激情视频一二三区| 久久国产精品熟女人妻| 91处女在线观看| 蜜乳AV网址| 久草资源欧美在线视频| 久久久久久十| 91小视频| 夜夜人妻爽| 亚洲人成在线放东京热| 亚洲国产欧美中文永久| 国产精品熟女九九九| 精品国产乱码久久久久久网站入口| 嫩草一区二区在线观看| 欧美精品丝袜久久久中文字幕| 亚洲天在线| 国产精品婬乱一级毛片彝族| 天天弄欧美| 亚洲综合第一页| 99热综合| 久久久久久十| 久久精品国产免费观看99| 中文字幕人妻色偷偷久久皮 | 13小男生GAY自慰脱裤子| 狠狠狠狠狠狠| 免费视频观看60秒| 竹菊影视国产一区二区| 中文字幕在线2| 岛国激情视频在线观看| 无码一区二区三区四区五区六区七区八区九区十区视频 | 久久久久久AⅤ无码免费肉站| 欧美韩国你懂得在线 | 密桃99999| 国产日韩怡红院| 天天插天天操| 97ai亚洲| 色婷五月天| 亚洲成成熟女人综合一区二区| 亚洲福利中文字幕在线| 日本 情色 1区2区3区| 在线精品福利免费播放| 欧美性五月| 青青草天天亲夜夜操网| 欧美亚州综合网图片| 九九aV| 91色夜| 亚洲色图91欧美日韩| 亚洲影视综合| 色综合潮| jk白丝没脱就开始啪啪| 99热日| 久久性爱免费送| 78m啪啪啪| 91蜜臀在线久久久久| 97日韩欧美| 97视频在线观看高清资源| 成人免费看吃奶视频网站| 超碰天天操| 国产亚洲精品第一最新| 麻豆91熟妇人妻中文字幕茄子| 免费观看欧美日韩操逼视频| 一起草三级AV电影在线观看| 91网站18在线| 大香蕉免费中文| 四虎国产精品永久在线囯在线| 91精品成人| 国产99久久99热这里只有精品15| 九九九九一区| 999久久久久久久精| 密乳AV免费观看| 欧美,日韩,中文,另类| 老鸭窝在线视频播放| 色婷婷基地| 九九九精品成人免费视频小说| 欧日韩在线观看| 极品色www影院| 97aiaiai| 天欧美在线| 91丨国产丨白浆| 国产精品嫩草影院免费| 天天天干977| a人欧美综合天堂麻豆| 两性综合网| 襙一襙| 超碰偷拍| 91中文精品日韩欧美在线| 国产一区二区欧美日本| 永久免费观看的毛片的网站| 综合一区二区影视| 伊人大香蕉在线| 操逼网免费无码视频| 中文操逼字幕| 深夜激情| 大香蕉琪琪日本女优不卡| 久热免费视频| 日操粉逼逼| 韩国免费播放一级毛片| 久久老熟女| 色拍偷亚洲| 国产自产91区13区| www.色五月| 日本精品第一视频在'| 日本高清免费一本视频在线观看| 9 1果冻精品视频| 免费啊啊啊| 台湾佬中文娱乐自偷自拍| 99久久99久久综合| 免费中文在线| 2019久久久久久久久福利| 中文字幕丰满子伦无码专区在线视频最新| 久久久九九| 日本三级R| 蜜臀AV秘一区翔田千里| 97久久超碰亚洲| 国产伦精品一区二区三区在线观| 久操视频在线观看| 国产乱码久久久| 国产精品国产| 麻豆精品三区视频| 台湾大香蕉99热| 18精品一区| 人妻少妇精品一区二区三区| 国产又色又爽又舒服的三级视频| 八人操人人摸人人看| 被男人吃奶很爽的毛片| 亚洲无码精品AV久久久| 少妇久久久久久久久| 9 1果冻精品视频| 国产91丝袜 在线播放| 99在线精品观看视频中文| 亚洲国产蜜臀系列在线观看| 狠操91,com| 无码操逼天堂| 亚洲精品黑丝| 91美女视频电影| 天天影视之亚洲综合网| 久久人体一区二区| 熟女91网| 深夜激情 | 极品少妇久久久| 加勒比海人人操超碰在线| 麻豆熟妇乱妇熟色A片在线看| 揉揉揉夜夜| sewuyueav| 婷婷五月天激情四射| 网友自拍第一页| 亚洲影院无码在线| 国产精品永久免费10000| 国产毛片久久久久久久| 亚洲成人日韩小说| 久久99午夜精品一区人妻| 高清无码国产亚洲| 2011国产精品| 亚洲污一污二| 干妹子| 亚州综合在线| 美国黄片aaa| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 欧亚日韩综合精品国产| #NAME?| 免费观看日本操逼视频| 美国精品国产精品| 最近的最新的中文字幕视频| 精品久久一区二区三区四区五区| 亚洲精品丝袜| 91劲爆| 亚洲av噜噜噜噜噜噜| 天天摸夜夜添无码小视频| 日韩激情啪啪| 色香色欲天天综合网天天来吧| 日韩中文字幕人妻视频| 久久激情视频| 97 视频在线| 0755午夜福利视频| 操啊国产| 色香蕉影院| 天天综合欧美综合| av天堂加勒比| 黄色片一区二区三区四区五区 | 老鸭窝日丰县女人| 91综合在线| 熟女人妇一区二区三区| www.四虎在线| 亚洲美腿丝袜香蕉影视欧美成人| 亚欧高清| 五月婷婷六月丁香| 久日91在线| 日韩一级二级三级免费看完整版| 无码高清专| 嗯嗯啊啊用力视频免费| 新91视频.cmp| 思思热国产在线视频| 国产精品麻豆成人AV艾秋| 国产精品不卡一区二区三区| 国产农村妇女精品| 蜜臀操逼黄色视频操的好爽| 天天香香欲综合| 欧美+日产+中文| 一级特级aaaa毛片免费观看 | 日本天天干天天日一区| AAAA欧美日韩| 日韩人妻精品久久久久| julia ann久久| 国产探花精品在线| 亚洲永久永久永久永久一级一级一级精品 | 97伊人超碰| 国产精品自拍xxxx| 日本97久久久精品| 亚洲91网| 日本三级久| 亚洲深夜福利| 国产精品免费视频不卡| 欧美人人天天网| 国产丝袜美女在线一区| 小草三级久久观看| 日本综合色图| 精品区9| 色欲久久99国产精品久久久久久| 无码 有码 国产18p| 99蜜桃臀久久久欧美精品网站| 岛国在线国产| 91美女精品| 日夜伊人网| 亚洲熟久久| 精品无码久久久久久久杏吧| 在线国产探花| 97超碰国产亚洲精品| 国产日韩欧美亚洲精品95| 日韩精品人妻中文字幕久久久| 色欲天天综合久久久无码网中文| 免费观看欧美日韩操逼视频| 久久黄人人爽视频| 成人情色一区二区| 91熟女在线| 香蕉在线一区二区三区| 1区2区3区视频| 久久久工口| dy888午夜老子影视达达兔 | 久久精品无码熟妇一区二区三区视频导航 | 久久伊人东京热| 九九性爱网| 99re视频在线播放青草| 亚州色图第三区| 激情综合网亚洲| 欧美成不卡网| 国产欧美日韩一区二区三区| 日韩人妻精品| 六月丁香网| 97久久网| 亚洲AV不卡在线观看尤物| 日本三级一区二区 在线| 亚洲欲| 久草福利在线资源站| 精品少妇一区二区| 熟女人妻av在线资源,黄色的资源| 蜜桃狠狠色伊人亚洲综合网站| 丝袜性亚洲| 高清成年美女黄网站免费大全| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 蜜桃久久久久久久| 亚洲图片婷婷五月天| 欧美性五月| 中文字幕在线观看丝袜| 偷拍 欧美 日韩| 亚洲性综合| 97人人干| 亚洲无无码αⅴ每日更新| 加勒比东京热五月天天堂网| 综合色色婷婷| 1000部熟女视频在线观看| 精品久久久不卡一区二区| 色婷婷五月综合激情中文字幕| 精品欧美乱码久| 国产成人AV麻豆| 欧美很很操视频| a亚洲欧美色欲| 亚洲欧美91√| 91爱综合| 欧美劲爆视频一区二区| 国产传媒日韩| 日韩精品影视| 啊好大好舒服| 青青久久手机线视频| 97资源站日韩| 亚洲性图91| 久草久热| 中文字幕在线高清男人的天堂| 在线免费观看高清无码视频| 日本五区不卡| 久久綜合很很很| 天天干美少妇一区| 亚洲成人福利电影免费| 亚洲中文字幕在线视频一区二区| 999熟女精品| 91 国产丝袜在线放观看| 日韩精品在线观看网站| 亚洲日韩在线a不卡99精品| 久久麻豆一区二区| 国产亚洲精品激情| 东京热双插| nuu12国产麻豆精品| 亚洲综合性感在线| 婷婷啪啪| 一区二区三区视频在线观看免费| 亚洲欧美日韩制服另类| 国产日本顶级一区二区三区| 国产成人天堂| 嗯嗯啊啊操死我| 欧美日韩91| av日韩在线观看电影| 黑人精品XXX一区一二区| 72av视频| 欧美日韩不卡传媒| 四虎在线免费视频| 欧美色日本| 亚洲成人一二三区| 蜜桃成人1区2区3区| 六月激情婷婷| 777奇米影视777四色| 天天草夜夜草高潮片| A级国产欧美激情在线| 蜜臀AV午夜精品久| 欧美大的香蕉有线电视视频| 91色伦| 人妻少妇久久中文| 久久少妇人妻| 粉嫩AV输入| 国产日韩人人| 亚洲第一二区另类图| 成人色女网| 一区二区 日韩 欧美 国产 传媒| 天美av在线观看| 日韩精品99999| 人妻少妇精品一区二区三区| 天天干天天插| 看日韩美女二区三区免费操逼视频 | 国产sv美女内射| 校园春色 亚洲| 9精品久久久久| 九九九九精品精| 超碰97护士| 国产91影院| 91亚洲色人| 芊芊操逼视频无码| 欧美大香蕉专区网| 91精品丝袜在线观看| 婷婷五月天激情网| 九九九九久久久| 久久久9视频| 久草精品国产蜜臀| 欧美天堂亚洲电影院一区在线播放| 九九九九九精品十六| 激情综合网一盗摄| 久久久久久中文| 蜜臀99精品国产高清在线观看| 色吧91| 亚洲精品尤物yw在线影院| 亚洲成人久久一区二区| 九九色图| 色婷婷aV一区二区三区麻豆综合| 精品国产72| 国产精品动态一区二区三区四四| 国产嫩草精品A88AV| 夜夜爽夜夜操| 黄色视频60分钟| 人妻熟女av国产网站| 日本三级中国三级99人妇网站| 国产蜜臀精品一区免费尤物| 亚州久久9| 欧美丰满少妇交换91欧美精品| 久久免费9| 操逼日批| 99综合免费视频| 中文字幕在线观看第二页| 蜜桃视频一区二区三区| 蜜臀AV一区二区三区| 欧美日韩国产成人高清| 亚洲色 国产 欧美 日韩| 99综合网| 久超碰这里只有精品| 青青在线视频日韩欧美| 色色色色日本| 麻豆2区1区天美| 国产乱青青草久久| 蜜臀久久99精品久久久久久-DVD原版全| 日韩偷拍一区二区三区 | 少妇高潮喷水无套久久久久久| 婷婷五月天激情四射| 亚洲天堂中文字| 精品国产乱码久久久久久久久1 | 啊灬啊灬啊灬啊灬高潮奶出了免费视| 中文字幕在线免费观看 | 九一综合精品视品av| 97超碰色中文字幕| 色色色日本| 亚洲色色色| 激情五月天校园春色网| 黄色大片视频在线免费看| 欧美v亚洲v日韩v最新在线二区| 7月婷婷综合| 99热婷婷一区二区三| 色欲无码人妻日韩欧美精品| 青草青青久久久久久国产| 在线啊啊啊| 亚洲欧美综合区自拍另类| 青青欧美在线| 偷拍导航视频网站| 欧美日韩 强奸乱伦| AV天堂男人的天堂| 国产精品剧情| 亚洲九区| 91激情国产| 最新三级网址| 亚洲第一页欧美| 亚州一区二区| 99婷婷| 日日骚一区二区三区| 黄骗免费| 嫩草影院永久在线制服丝袜| 五月天婷婷在线看| 殴美性色a级欧美| 欧美色视| 密桃99999| 狠狠爱夜夜| 色五月婷婷五月天| 午夜噜噜噜| 狼人久草| 可乐操亚洲蜜911| 天天看,天天做| 欧美淫乱视频| 大香蕉乱伦视频网| 亚洲欧美综合网站| 久久一级无码精品毛片6| 久久久禁| 亚洲 日韩 丝袜 熟女 变态| 亚洲熟女一区| 久久av成人无码免费| 亚洲欲| 国产吞精a级片激情电影| 伊人午夜福利视频| 女同性恋久久| 青青草在线视频播放器| 黄网在线播放| 亚洲同性aV综合| 日本天天操| 97精品视频| 国内黄色精品| 99老司机精品视频在线观看| 四虎国产成人精品免费一女五男| 浓厚中出中文字幕在线| 丝袜视频一区二区在线播放国产中文| 欧美一区二区日韩三区| 久草在| 午夜高清成人在线视频| 欧美黑人与女人91| 韩国久久97| 香蕉国产精品麻豆亚洲欧美日韩 | 亚洲最大成人a毛毛片| 久久精品中文字幕女同| 亚洲精品成人| 久久夜夜| 综合97亚洲| 婷婷五月av| 黄色无码高清黄色无码网站| 久久亚洲不卡一区二区三区 | 色777999综合| 激情五月天色播| 边做饭边操逼逼| 亚洲精品白丝| 色色热| 日韩中文字幕国产| 国产少妇内射| 九色 人妻 大香蕉| 国产高清无码一区三区二区| 欧美色交| 日本不卡三级网在线播放| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 亚洲va有码在线天堂| 极品少妇久久久久| 用力操死我| 26uuu国产免费观看| 操东北女人| julia ann久久| 中文字幕 av v| 激情干在线| 欧美AAAA黄片| 一二三区视频在线观看| 久久超碰97中文字幕| 欧美日韩91| 精品国产丝袜一区二区三区乱码| 日本韩国五十路六十路七十路老熟女作爱视频网站| 91丝袜美腿网站| 久热婷婷| 日本操逼视频导航| 操碰97| 96国产精品| 亚洲限制级| 97视频在线免费看| 91精品国产麻豆国产自产在| 精品人妻1区| 熟女人妻一区二区三区免费看| 色香伊人| 99热导航| 久久国产精品91| 91超碰人人操| 伊人激情五月天一区二区| 可免费观看的av毛片中日美韩| 国产精品夜夜夜| 综合97亚洲| 91丝袜美腿网站| 婷婷五月丁香五月| 在线视频日韩欧美国产| 亚洲人妻av| 婷婷99狠狠躁天天躁| 久久九九视频九九视频| 好色综合| 欧美性夜| 亚洲日本大香蕉1| 1024手机看片欧美日韩| 综合网~91综合网| 日韩成人色图| 欧美性爱五月天| 免费视频a级毛片免费视频| 精品一区二区综合熟妇| 日逼逼免费看| 大香蕉视频一二三区| 亚欧高清| 日韩欧美亚欧在线视频| 亚洲男人天堂av| 亚州综合色| 99re98| 久久久性爱| 少妇天堂| 高清视频一区| 精品人妻丰满熟妇一区二区三| 亚州五月| 久久久天堂| 四虎影视欧美| 网友自拍第1页| 亚洲熟妇A V黑人| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 日韩精品一区二区人人人| av天堂加勒比| AV天堂因数| 大香蕉综合网| 青娱乐淫乱1314| 精品蜜乳AV免费观看| 国产欧美日本亚洲精品 | 97大色网| 日本蜜桃| 亚洲AV在线资源| 欧美第五页|