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

ARTICLE DETAIL

資訊詳情

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

深入解析 package.json:從依賴(lài)管理到工程化實(shí)踐

深入解析 package.json:從依賴(lài)管理到工程化實(shí)踐 1. 為什么 package.json 值得你花時(shí)間吃透如果你寫(xiě) JavaScript 或者 TypeScript哪怕只是偶爾碰一下前端項(xiàng)目package.json這個(gè)文件你肯定見(jiàn)過(guò)。它躺在項(xiàng)目根目錄里看起來(lái)就是一堆 JSON 鍵值對(duì)很多人平時(shí)只關(guān)心兩件事dependencies里裝了什么包scripts里怎么啟動(dòng)項(xiàng)目。剩下的字段要么視而不見(jiàn)要么復(fù)制粘貼的時(shí)候順手帶過(guò)來(lái)從來(lái)沒(méi)想過(guò)它們是干什么用的。我剛開(kāi)始做項(xiàng)目那幾年也是這個(gè)狀態(tài)。直到有一次排查一個(gè)線上問(wèn)題發(fā)現(xiàn)構(gòu)建產(chǎn)物里混進(jìn)了開(kāi)發(fā)環(huán)境的調(diào)試代碼查了半天才定位到是dependencies和devDependencies放錯(cuò)了位置還有一次發(fā)布一個(gè)工具庫(kù)別人裝完之后類(lèi)型提示全丟了最后發(fā)現(xiàn)是types字段沒(méi)配對(duì)。這些坑踩多了之后我才意識(shí)到package.json根本不是一個(gè)“配置文件”那么簡(jiǎn)單它是整個(gè) Node 生態(tài)里包與包之間溝通的契約是 npm 理解你項(xiàng)目的唯一入口。這篇文章就是把我這些年跟package.json打交道積累下來(lái)的東西系統(tǒng)梳理一遍。從最基礎(chǔ)的字段含義到依賴(lài)版本號(hào)的語(yǔ)義化規(guī)則再到exports、workspaces這些相對(duì)新但越來(lái)越重要的能力我都會(huì)結(jié)合真實(shí)項(xiàng)目里的使用場(chǎng)景講清楚。不管你是剛?cè)胄械男率诌€是已經(jīng)寫(xiě)了幾年業(yè)務(wù)代碼想往工程化方向走的人看完之后應(yīng)該都能對(duì)這個(gè)文件有一個(gè)更完整的認(rèn)知至少下次再看到不認(rèn)識(shí)的字段你知道該去哪里查、它大概會(huì)影響什么。文章里涉及的所有項(xiàng)目名、包名、人名我都會(huì)用虛構(gòu)代稱(chēng)但字段名、版本規(guī)則、行為邏輯都是真實(shí)可驗(yàn)證的。你可以邊看邊打開(kāi)自己手頭的項(xiàng)目對(duì)照著檢查效果會(huì)更好。2. package.json 的整體結(jié)構(gòu)與核心定位2.1 它在 Node 生態(tài)里到底扮演什么角色要理解package.json得先搞清楚 npm 是怎么看待一個(gè)項(xiàng)目的。在 npm 的世界里任何一個(gè)包含package.json的目錄都可以被當(dāng)作一個(gè)“包”來(lái)處理。這個(gè)文件承擔(dān)了三個(gè)層面的職責(zé)身份標(biāo)識(shí)、依賴(lài)聲明、行為定義。身份標(biāo)識(shí)指的是name和version這兩個(gè)字段它們組合起來(lái)構(gòu)成了這個(gè)包在 registry 里的唯一坐標(biāo)。依賴(lài)聲明就是dependencies、devDependencies、peerDependencies這些字段告訴 npm 裝這個(gè)包的時(shí)候還需要哪些東西。行為定義則包括scripts、main、exports、bin等決定了這個(gè)包被安裝后怎么被調(diào)用、入口在哪里、有哪些命令可以執(zhí)行。很多人會(huì)把package.json和package-lock.json搞混。簡(jiǎn)單說(shuō)前者是你手寫(xiě)的“意圖聲明”后者是 npm 根據(jù)你的聲明實(shí)際解析出來(lái)的“精確快照”。你寫(xiě)lodash: ^4.17.0這是意圖lock 文件里記錄的4.17.21加上 integrity 哈希這是實(shí)際結(jié)果。兩者配合才能保證團(tuán)隊(duì)里每個(gè)人裝出來(lái)的依賴(lài)樹(shù)是一致的。2.2 一個(gè)最小可用文件長(zhǎng)什么樣理論上一個(gè)合法的package.json只需要name和version兩個(gè)字段就能通過(guò)校驗(yàn)。但實(shí)際項(xiàng)目里當(dāng)然不會(huì)這么寒酸。下面是一個(gè)我常用的起步模板你可以直接拿去改{ name: my-project, version: 1.0.0, description: 一個(gè)用于演示的項(xiàng)目, main: dist/index.js, types: dist/index.d.ts, scripts: { build: tsc, test: jest }, keywords: [demo, template], author: someone, license: MIT }這個(gè)模板里每個(gè)字段都有明確用途后面我會(huì)逐個(gè)展開(kāi)。這里先提醒一點(diǎn)name字段有命名規(guī)范不能有大寫(xiě)字母、空格也不能以點(diǎn)或下劃線開(kāi)頭長(zhǎng)度不能超過(guò) 214 個(gè)字符。如果你打算發(fā)布到公共 registry還要注意名字不能被別人占用。2.3 字段的分類(lèi)邏輯我把package.json里的字段大致分成四類(lèi)這樣記憶和理解都會(huì)清晰很多分類(lèi)代表字段作用元信息name, version, description, author, license描述這個(gè)包是誰(shuí)、干什么用的入口與導(dǎo)出main, module, types, exports, browser告訴外部怎么引用這個(gè)包依賴(lài)管理dependencies, devDependencies, peerDependencies, optionalDependencies聲明運(yùn)行和開(kāi)發(fā)所需的其他包腳本與工具scripts, bin, engines, config定義可執(zhí)行命令和運(yùn)行環(huán)境要求這個(gè)分類(lèi)不是官方標(biāo)準(zhǔn)但用起來(lái)很順手。你在排查問(wèn)題時(shí)先判斷問(wèn)題屬于哪一類(lèi)然后去對(duì)應(yīng)字段里找原因效率會(huì)高很多。3. 依賴(lài)管理字段的深度拆解3.1 dependencies 與 devDependencies 的邊界怎么劃這是最常被問(wèn)、也最容易出錯(cuò)的一組字段。核心原則只有一句話運(yùn)行時(shí)需要的放 dependencies只在開(kāi)發(fā)、構(gòu)建、測(cè)試階段需要的放 devDependencies。什么叫“運(yùn)行時(shí)需要”就是這個(gè)包被安裝到別人項(xiàng)目里之后如果缺少這個(gè)依賴(lài)代碼就會(huì)報(bào)錯(cuò)或者功能不正常。比如你寫(xiě)了一個(gè) React 組件庫(kù)那react就是運(yùn)行時(shí)依賴(lài)必須放dependencies。但如果你只是用typescript來(lái)編譯代碼編譯完的產(chǎn)物里并不包含 tsc 本身那typescript就應(yīng)該放devDependencies。我見(jiàn)過(guò)最常見(jiàn)的錯(cuò)誤是把構(gòu)建工具、測(cè)試框架、類(lèi)型定義全都塞進(jìn)dependencies。這樣做本身不會(huì)讓代碼跑不起來(lái)但會(huì)帶來(lái)兩個(gè)后果一是別人安裝你的包時(shí)會(huì)莫名其妙多下載一堆根本用不到的東西安裝體積和耗時(shí)都會(huì)增加二是在一些對(duì)依賴(lài)體積敏感的場(chǎng)景比如前端打包可能會(huì)把不該打進(jìn)去的東西打進(jìn)去。有一個(gè)判斷技巧很實(shí)用問(wèn)自己“如果把這個(gè)包刪掉用戶在使用我的包的功能時(shí)會(huì)不會(huì)出問(wèn)題”會(huì)就是dependencies不會(huì)就是devDependencies。3.2 peerDependencies 的真實(shí)用途peerDependencies是很多人一直沒(méi)搞明白的字段。它的含義是“我用到了某個(gè)包但我不自己安裝它而是要求使用我的人來(lái)提供?!弊畹湫偷膱?chǎng)景就是插件體系。假設(shè)你寫(xiě)了一個(gè) Webpack 插件這個(gè)插件必須配合 Webpack 使用但你不應(yīng)該把 Webpack 打包進(jìn)插件里因?yàn)槭褂谜咦约旱捻?xiàng)目里已經(jīng)有 Webpack 了。這時(shí)候你就把 Webpack 聲明在peerDependencies里。從 npm 7 開(kāi)始peerDependencies的默認(rèn)行為發(fā)生了變化如果使用者沒(méi)有安裝對(duì)應(yīng)的 peer 依賴(lài)npm 會(huì)嘗試自動(dòng)安裝。這個(gè)變化解決了很多“裝完插件發(fā)現(xiàn)缺依賴(lài)”的問(wèn)題但也帶來(lái)了一些意料之外的版本沖突。所以在聲明 peer 依賴(lài)時(shí)版本范圍要盡量寫(xiě)得寬松一些比如4.0.0而不是^4.17.0給使用者留出選擇空間。3.3 optionalDependencies 與 bundledDependenciesoptionalDependencies的語(yǔ)義是“裝不上也沒(méi)關(guān)系”。npm 在安裝時(shí)會(huì)嘗試安裝這些依賴(lài)但如果失敗比如某個(gè)平臺(tái)沒(méi)有對(duì)應(yīng)的二進(jìn)制包不會(huì)導(dǎo)致整個(gè)安裝過(guò)程失敗。這個(gè)字段用得不多主要出現(xiàn)在一些需要跨平臺(tái)兼容的底層工具里。bundledDependencies也可以寫(xiě)成bundleDependencies則是把依賴(lài)直接打包進(jìn)你的發(fā)布產(chǎn)物里。這個(gè)字段現(xiàn)在很少用了因?yàn)楝F(xiàn)代 npm 的依賴(lài)解析已經(jīng)很可靠但在一些離線部署或者需要鎖定特定版本的場(chǎng)景下仍然有用。3.4 版本號(hào)語(yǔ)義化規(guī)則與選擇策略版本號(hào)是依賴(lài)管理里最容易埋雷的地方。npm 遵循的是語(yǔ)義化版本SemVer規(guī)范格式是主版本號(hào).次版本號(hào).修訂號(hào)。規(guī)則很簡(jiǎn)單主版本號(hào)變化有不兼容的 API 修改次版本號(hào)變化新增了向后兼容的功能修訂號(hào)變化修復(fù)了向后兼容的 bug在package.json里寫(xiě)版本范圍時(shí)常用的前綴有這幾種寫(xiě)法含義示例匹配^1.2.3允許次版本和修訂號(hào)升級(jí)1.2.3 到 1.x.x~1.2.3只允許修訂號(hào)升級(jí)1.2.3 到 1.2.x1.2.3精確鎖定只有 1.2.31.2.3大于等于1.2.3 及以上*任意版本任何版本我的經(jīng)驗(yàn)是應(yīng)用項(xiàng)目用^工具庫(kù)用~或精確版本。應(yīng)用項(xiàng)目不怕自動(dòng)升級(jí)因?yàn)槟阌?lock 文件和測(cè)試兜底但工具庫(kù)如果依賴(lài)范圍太寬使用者裝到的版本可能跟你測(cè)試時(shí)不一樣容易出兼容性問(wèn)題。注意不要手動(dòng)去改package-lock.json里的版本號(hào)那個(gè)文件應(yīng)該由 npm 自動(dòng)維護(hù)。你只需要改package.json然后重新執(zhí)行安裝命令。4. 入口與導(dǎo)出字段的實(shí)戰(zhàn)解析4.1 main、module、browser 的分工這三個(gè)字段都跟“入口”有關(guān)但面向的環(huán)境不同。main是最傳統(tǒng)的字段指向 CommonJS 格式的入口文件。Node.js 環(huán)境默認(rèn)讀這個(gè)字段。module是社區(qū)約定指向 ES Module 格式的入口打包工具如 Rollup、Webpack會(huì)優(yōu)先讀它以便做 tree-shaking。browser則用于指定瀏覽器環(huán)境下的替代入口可以是一個(gè)字符串也可以是一個(gè)對(duì)象映射把某些 Node 專(zhuān)用的模塊替換成瀏覽器可用的版本。一個(gè)典型的雙格式包會(huì)這樣寫(xiě){ main: dist/index.cjs.js, module: dist/index.esm.js, browser: dist/index.umd.js }這樣 Node 環(huán)境用 CJS打包工具用 ESM直接在瀏覽器里用 script 標(biāo)簽引入時(shí)用 UMD。4.2 types 與類(lèi)型聲明的正確姿勢(shì)如果你用 TypeScript 寫(xiě)庫(kù)types字段必須指向生成的.d.ts文件。很多人會(huì)把它寫(xiě)成源碼里的.ts文件路徑這是不對(duì)的——使用者裝的是你發(fā)布后的產(chǎn)物源碼文件通常不在發(fā)布范圍內(nèi)。正確的做法是在tsconfig.json里開(kāi)啟declaration: true讓編譯器生成類(lèi)型聲明文件然后讓types指向輸出目錄里的對(duì)應(yīng)文件。如果你同時(shí)提供了 CJS 和 ESM 兩套產(chǎn)物最好用exports字段里的types條件分別指定避免類(lèi)型解析出錯(cuò)。4.3 exports 字段新一代的入口控制exports是 Node.js 12.7 之后引入的字段它比main更強(qiáng)大也更嚴(yán)格。一旦你定義了exportsNode 就會(huì)忽略main所有外部引用都必須通過(guò)exports里聲明的路徑來(lái)訪問(wèn)。它的基本結(jié)構(gòu)是這樣的{ exports: { .: { types: ./dist/index.d.ts, import: ./dist/index.esm.js, require: ./dist/index.cjs.js }, ./utils: { import: ./dist/utils.esm.js, require: ./dist/utils.cjs.js } } }這個(gè)配置做了兩件事一是定義了根入口在不同模塊系統(tǒng)下的解析路徑二是暴露了一個(gè)子路徑./utils讓使用者可以按需引入。exports的一個(gè)重要作用是封裝內(nèi)部結(jié)構(gòu)。在沒(méi)有exports的年代使用者可以引用你包里的任意文件比如require(your-pkg/dist/internal/helper)。這很危險(xiǎn)因?yàn)閮?nèi)部文件隨時(shí)可能重構(gòu)。有了exports之后只有你顯式暴露的路徑才能被訪問(wèn)其他路徑一律報(bào)錯(cuò)。這對(duì)庫(kù)作者來(lái)說(shuō)是一個(gè)很好的保護(hù)機(jī)制。提示exports的路徑必須以./開(kāi)頭不能寫(xiě)成dist/index.js。這個(gè)細(xì)節(jié)很容易忽略但寫(xiě)錯(cuò)了會(huì)直接導(dǎo)致解析失敗。5. 腳本、二進(jìn)制與運(yùn)行環(huán)境配置5.1 scripts 的進(jìn)階用法scripts字段大家都會(huì)用但有些技巧能讓它更好用。首先是pre和post鉤子如果你定義了build腳本那么prebuild會(huì)在它之前執(zhí)行postbuild會(huì)在它之后執(zhí)行。這個(gè)機(jī)制可以用來(lái)做清理、校驗(yàn)、通知等事情。其次是跨平臺(tái)兼容。scripts里的命令默認(rèn)由系統(tǒng)的 shell 執(zhí)行這意味著 Windows 和 Unix 下的寫(xiě)法可能不一樣。比如rm -rf dist在 Windows 的 cmd 里就不管用。解決辦法是用rimraf這類(lèi)跨平臺(tái)工具或者用 Node 腳本代替 shell 命令。還有一個(gè)實(shí)用技巧是用npm-run-all或者concurrently來(lái)并行或串行執(zhí)行多個(gè)腳本。比如{ scripts: { build: npm-run-all clean build:*, build:js: tsc, build:css: sass src:dist, clean: rimraf dist } }這樣build會(huì)先執(zhí)行clean然后依次執(zhí)行build:js和build:css邏輯清晰也方便單獨(dú)調(diào)用某個(gè)子任務(wù)。5.2 bin 字段與命令行工具如果你想讓自己的包提供一個(gè)命令行命令就需要用到bin字段。最簡(jiǎn)單的寫(xiě)法是{ bin: { my-cli: ./bin/cli.js } }這樣使用者全局安裝或者通過(guò)npx調(diào)用時(shí)就可以直接執(zhí)行my-cli。對(duì)應(yīng)的cli.js文件開(kāi)頭必須加上 shebang#!/usr/bin/env node沒(méi)有這行系統(tǒng)不知道用什么解釋器來(lái)執(zhí)行這個(gè)文件。另外bin指向的文件在發(fā)布時(shí)必須有可執(zhí)行權(quán)限npm 在打包時(shí)會(huì)自動(dòng)處理但如果你手動(dòng)拷貝文件就要注意這一點(diǎn)。5.3 engines 與 packageManagerengines字段用來(lái)聲明你的包對(duì) Node.js 或 npm 版本的要求{ engines: { node: 16.0.0, npm: 8.0.0 } }默認(rèn)情況下npm 只會(huì)在版本不滿足時(shí)給出警告不會(huì)阻止安裝。如果你希望強(qiáng)制阻止可以在項(xiàng)目里加一個(gè).npmrc文件寫(xiě)入engine-stricttrue。packageManager字段是較新的約定用來(lái)指定項(xiàng)目應(yīng)該使用哪個(gè)包管理器及其版本比如packageManager: pnpm8.6.0。配合 Corepack 使用可以確保團(tuán)隊(duì)成員用同一套工具鏈減少“我這里能跑你那里跑不了”的問(wèn)題。6. 常見(jiàn)問(wèn)題排查與避坑經(jīng)驗(yàn)6.1 依賴(lài)裝不上或版本沖突怎么辦這是最高頻的問(wèn)題。排查思路我一般按這個(gè)順序走第一步刪掉node_modules和package-lock.json重新安裝。很多問(wèn)題是緩存或者 lock 文件損壞導(dǎo)致的重裝能解決一大半。第二步如果重裝無(wú)效用npm ls 包名查看這個(gè)包被誰(shuí)依賴(lài)了、裝了幾個(gè)版本。版本沖突往往是因?yàn)椴煌陌蕾?lài)了同一個(gè)包的不兼容版本。第三步如果確實(shí)存在無(wú)法調(diào)和的沖突可以考慮用overrides字段npm 8.3強(qiáng)制指定某個(gè)包的版本{ overrides: { some-package: 2.0.0 } }這個(gè)能力要謹(jǐn)慎使用因?yàn)樗赡茏屇硞€(gè)依賴(lài)拿到它并不兼容的版本。用之前最好確認(rèn)一下被覆蓋的包在目標(biāo)版本下是否還能正常工作。6.2 發(fā)布后類(lèi)型提示丟失這個(gè)問(wèn)題通常有三個(gè)原因types字段路徑寫(xiě)錯(cuò)、.d.ts文件沒(méi)有被包含在發(fā)布產(chǎn)物里、或者exports里沒(méi)有聲明types條件。排查時(shí)可以先執(zhí)行npm pack生成一個(gè) tarball解壓看看里面到底有哪些文件。如果.d.ts不在里面就要檢查files字段或者.npmignore是不是把它排除了。6.3 files 字段與發(fā)布范圍控制files字段決定了哪些文件會(huì)被發(fā)布到 registry。不寫(xiě)這個(gè)字段的話npm 會(huì)發(fā)布除了.npmignore和默認(rèn)忽略列表之外的所有文件很容易把測(cè)試代碼、配置文件、甚至密鑰文件發(fā)出去。我的習(xí)慣是顯式聲明files{ files: [dist, README.md, LICENSE] }這樣只有dist目錄和兩個(gè)說(shuō)明文件會(huì)被發(fā)布干凈利落。發(fā)布前用npm pack --dry-run預(yù)覽一下文件列表確認(rèn)沒(méi)問(wèn)題再正式發(fā)。6.4 常見(jiàn)問(wèn)題速查表現(xiàn)象可能原因解決方向安裝時(shí)報(bào) peer 依賴(lài)缺失peerDependencies 未滿足手動(dòng)安裝對(duì)應(yīng) peer 包或調(diào)整版本打包體積異常大開(kāi)發(fā)依賴(lài)放進(jìn)了 dependencies檢查依賴(lài)分類(lèi)移到 devDependencies引用子路徑報(bào)錯(cuò)exports 未暴露該路徑在 exports 中添加對(duì)應(yīng)子路徑類(lèi)型提示不生效types 路徑錯(cuò)誤或文件未發(fā)布檢查 types 字段和 files 字段命令執(zhí)行報(bào)權(quán)限錯(cuò)誤bin 文件缺少 shebang 或權(quán)限添加 shebang檢查文件權(quán)限不同環(huán)境裝出不同版本缺少 lock 文件或版本范圍過(guò)寬提交 lock 文件收緊版本范圍7. 進(jìn)階字段與工程化實(shí)踐7.1 workspaces 與 monorepoworkspaces字段讓一個(gè)倉(cāng)庫(kù)可以管理多個(gè)包是 monorepo 的基礎(chǔ)?;緦?xiě)法是{ workspaces: [packages/*] }這樣packages目錄下的每個(gè)子目錄都會(huì)被當(dāng)作一個(gè)獨(dú)立的包來(lái)處理npm 會(huì)把它們之間的依賴(lài)關(guān)系自動(dòng)鏈接起來(lái)不需要手動(dòng)npm link。對(duì)于維護(hù)多個(gè)相互依賴(lài)的包的項(xiàng)目來(lái)說(shuō)這個(gè)能力能省掉大量繁瑣的操作。使用 workspaces 時(shí)要注意一點(diǎn)根目錄的package.json通常設(shè)為private: true避免誤發(fā)布。各個(gè)子包的依賴(lài)盡量聲明在子包自己的package.json里而不是全部堆在根目錄否則依賴(lài)關(guān)系會(huì)變得難以追蹤。7.2 private 字段與防誤發(fā)布private: true是一個(gè)簡(jiǎn)單但極其重要的字段。加上它之后npm 會(huì)拒絕發(fā)布這個(gè)包。對(duì)于公司內(nèi)部項(xiàng)目、示例項(xiàng)目、根目錄的 monorepo 配置來(lái)說(shuō)這個(gè)字段應(yīng)該默認(rèn)加上。我見(jiàn)過(guò)不止一次有人不小心把內(nèi)部項(xiàng)目發(fā)到了公共 registry雖然可以撤回但處理起來(lái)很麻煩。7.3 條件導(dǎo)出與多環(huán)境適配exports字段支持條件導(dǎo)出可以根據(jù)不同的環(huán)境返回不同的文件。除了前面提到的import、require、types還有node、browser、default等條件。一個(gè)完整的例子{ exports: { .: { types: ./dist/index.d.ts, browser: ./dist/index.browser.js, node: { import: ./dist/index.node.esm.js, require: ./dist/index.node.cjs.js }, default: ./dist/index.esm.js } } }條件的匹配是從上到下依次判斷的所以順序很重要。types必須放在最前面default放在最后作為兜底。7.4 版本發(fā)布與 changelog 維護(hù)版本號(hào)不是隨便定的。每次發(fā)布前想清楚這次改動(dòng)屬于哪一類(lèi)修 bug 就升修訂號(hào)加功能就升次版本號(hào)有破壞性變更就升主版本號(hào)。配合CHANGELOG.md記錄每個(gè)版本的變化對(duì)使用你包的人來(lái)說(shuō)是很大的幫助。如果團(tuán)隊(duì)規(guī)模不大手動(dòng)維護(hù) changelog 完全夠用。如果發(fā)布頻繁可以考慮用changesets或者standard-version這類(lèi)工具來(lái)自動(dòng)化版本管理和 changelog 生成。工具的選擇取決于團(tuán)隊(duì)習(xí)慣沒(méi)有絕對(duì)的好壞。8. 我個(gè)人的一些使用習(xí)慣寫(xiě)了這么多年package.json有幾個(gè)習(xí)慣我覺(jué)得挺有價(jià)值分享出來(lái)供參考。第一每次新增依賴(lài)都問(wèn)一句“這是運(yùn)行時(shí)還是開(kāi)發(fā)時(shí)”。這個(gè)動(dòng)作只需要幾秒鐘但能避免后面大量的依賴(lài)分類(lèi)混亂。第二發(fā)布前一定跑npm pack --dry-run。這個(gè)命令會(huì)列出即將發(fā)布的文件清單比任何檢查都直觀。我靠它攔下過(guò)好幾次誤包含的測(cè)試文件和本地配置。第三版本范圍寧緊勿松。尤其是工具庫(kù)依賴(lài)范圍寫(xiě)寬了使用者裝到的版本可能跟你測(cè)試的完全不一樣。寧可讓使用者偶爾遇到版本沖突手動(dòng)解決也不要讓他們?cè)诓恢榈那闆r下裝到一個(gè)你沒(méi)驗(yàn)證過(guò)的版本。第四把package.json當(dāng)成代碼來(lái)維護(hù)。它值得被 review值得有注釋雖然 JSON 不支持注釋但可以在 README 里說(shuō)明值得在重構(gòu)時(shí)一起整理。一個(gè)混亂的package.json往往是項(xiàng)目工程化水平的一個(gè)縮影。這些經(jīng)驗(yàn)沒(méi)有什么高深的理論都是在一次次踩坑和修坑中攢下來(lái)的。你如果剛開(kāi)始接觸這些字段不用一次性全部記住先把dependencies、scripts、main、types這幾個(gè)最常用的搞清楚其他的遇到再查、再用、再記慢慢就熟了。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情无码日韩| 78精品| 无码外流操逼视频| 不卡二三区人妻少妇| 欧美亚洲国产自久久| 欧美性巨大╳╳╳╳╳高跟鞋| 九九热精品视频六| 精品中文一区二区| 78久久久| 一区黄二区黄| 黑人精品成人一区二区三区| 久久丁香五月天| 黄色激情电影在线观看| 淫荡网址| julia国产在线| 区一二区日韩亚洲乱码av电影| 国产亚洲禁久一区二区| 8x福利精品第一福利视频导航| 精品人妻15区| 久久久久96| 99re95| 一二三区在线| 爱爱60秒免费视频| 九九热精品视频在线观看| 成人七区| 看黄片视频免费| 午夜.DJ高清在线观看免费7| 亚洲国产美女久久久久| 色淫网站优优视频| 中文乱码字幕观看| 亚洲男人电影天堂| 在线二区不卡| 久久精品三级影视| 久久国产99精品72福利| 91久久久久久久| 黄页视频网站野外| 亚洲AV操| 另类小色呦| 操逼片中文| 亚洲二区精品在线观看| 亚洲国产欧美中文永久| 破苞ⅩXXX性无码动漫无码| 欧美在线观看综合国产| 青青国产精品在线| 91色女| 97色色色综合网站| 久久久精品视频欧州站| 嫩草 我啊~嗯~在线| 夜夜骑天天燥| 玖玖大干人妻| 国产精品久久天天干| 亚洲无码超碰免费| 日韩免费高清大片在线| 国产99热| 婷婷五月天综合网| 国产精品肉丝自拍| juliaann丝袜大战黑鬼| 久久啊啊啊| 91中出| 国产操逼网站亚洲一级黄色| 精品国产精品一区二区| 久久久久久久 九九九九九九九| 蜜桃中文字日产乱幕4区| 欧美暴力猛交| 蜜臀99久久精品久久久久久| 日韩在线观看三级电影| 五月婷婷综合网| 亚洲欧洲视频小说在线观看| 久9综合在线| 亚洲色图91| 26uuu成人影片| 自偷自拍的亚洲视频| 久久久九97| 久久爱超碰网| 大学生美女口爆| 狠狠色噜噜狠狠狠狠2018| 上海一级黄片| 成人在线视频二区| 亚洲亚洲亚洲天堂天堂| 色屁屁影院www国产| 亚洲色图欧美色图日韩色图| 欧美熟女少妇| 加勒比海人人操超碰在线| 免费看黄片现成| 国产精品成人在线| 91美女色视频亚洲| 国产精品人妻无码久久久老鸭窝 | 亚洲欧美另类图片| 日韩综合无码色欲vv| 久久99综合| 超碰97最新人妻| 在线播放成人高清免费视频| 啊啊啊啊一区| 97在线日韩中文字幕| 日韩在线国产字幕| www.99视频| 小骚逼被操的爽不爽| 91肉片| 亚洲欧洲网站免费观看| 久久久一区二区三区麻豆| 日韩国产不卡在线视频| 夜夜嗨AV蜜臀av| 色吊丝 日日骚 清纯唯美| 成人麻豆av电影网站| 国产日本熟女顶级一区二区三区视频 | 人妻人久久精品中文字幕| 日本国产欧美一区三区二区| 人人色97| 一起草在线视频| 久久AV无码网址| 天天躁狠狠躁av| 偷拍三区| 天天综合网1| 97爱综合| 99自拍B亚洲| 大香蕉淫人| 色性综合| 热99这里有精品综合久久 | 欧美性xxxxx狂欢| 九九九九9999| 骚逼高潮久久精品| 亚州91| www.色婷婷.com| 欧美日韩妖精91com| 精品亚洲国产成人精品| 无码九九九九| 五月婷婷激情综合| 懂色Av| 曰本精品久久久| 中文字幕,人妻,日韩| 97中文字幕色| blacked精品一区国产| #NAME?| 成人乱码一区二区三少妇| 日韩一级二级三级免费看完整版国语版| 亚洲色图尤物视频| 国产免费一区| 婷婷五月天成人网| 精品国产乱码久久久久久网站入口| 一色网男人的天堂| 欧美gv在线观看| 禁十八久久| 91人精品妻入口| 9精品在线| 日韩精品亚洲专区在线影视| 天堂精品小草| 美女一区二区国产精品| 乱色视频中文字幕| 久久男人的天堂| yirendaxiangjiashipin| 欧美成人四级在线播放| 国产超碰97| 五月天婷婷基地| 啪啪视频免费在线观看| 肉丝无码中文高清| 国产精品一二三免费网站| 亚洲春色一区二区三区| 亚洲精品97中文字幕| 秋霞欧美性爰视频| 人人操人人摸人人骑| 中 文字幕一区二区三四 五 区日 日 骚 | 1000部熟女视频在线观看| 天天夜夜久久| 色999偷自拍拍| 人妻一区视频| 亚洲中文字幕在线视频一区二区| 物业黑人 AV一区| 厕所偷拍在线| 91久久精品蜜臀| 俄罗斯一区二区视频在线观看 | 亚洲va有码在线天堂| 这里都是精品| 美女诱惑在线一区| 色97干| 9精品久久| 久热69九色熟妇97| 不卡啪啪视频| 日韩欧美字幕亚洲一区二区| 视频不卡中文字幕| TS人妖另类精品视频系列| 亚洲91射| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 九九精品99| 大色综合| 久久伊人影院| 欧美亚洲韩国视频十五区| 青青草在线视频人人想人人上 | 国产2.3.4区| 成人久久精品| 91老熟女老女人国产老太| 4141514逼喷水三级片| 少妇高潮喷水无套久久久久久| 欧美同性恋 的搜索结果 - 91n| 宗合情欲网| 夜夜嗨一区二区| 国产精点久久久成人| 国产精品久久天天干| 亚洲 欧美 色图| 天天干1区2区在线| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 天天躁日日躁成人字幕aⅴ| 久久超碰日韩精品| 福利视频网站| 欧美加勒比| 欧美在线大香999| 99精品视频在线观看免费| 日韩熟女无码| 五码视频在线观看| 91精品微拍福利| 国语对白露脸XXXXXX| 日韩欧无码一区二区三区免费不卡 | 91丝袜在线播放| 国产一线二线三线av| 欧美同性恋 的搜索结果 - 91n| 亚洲日韩少妇一道本视频| 品亲网欧美品亲网| 白丝在线一区| 美国三级日本三级久久99| 久久一区二区加油站| 欧美一级专区免费大片| 欧美青青草视频| 亚欧操逼片在线观看| 久久久久久少妇| 天天搞欧美| 色逼综合| 日本人妻伦在线中文字幕| 成人无遮挡毛片免费看| 欧美成人A天堂片在线观看| 精品亚洲黄色片 国产精品导航一区二区| 亚洲色 国产 欧美 日韩| 久久露脸国产老熟女| 欧美99热| 亚洲男人天堂2012| 久热精品在线| 欧美日韩在线视频网站| 18禁免费视频| 黑操B| 欧美亚洲影视| 啊啊啊啊免费视频| 超碰在线人妻中文字幕| 亚洲色图日韩精品| 99啪| 九七人妻在线| 国产在线激情视频| 男人的天堂2010| 91欧美成人色站| 在免费jIzzjIzz在线视频| 狠狠狠狠狠狠| 久久久成人免费av电影| 无码久久亚洲高清,| 国产又色又爽又舒服的三级视频| 九九热九九热| 日日爽熟女| 秋霞一级鲁丝片A片| 99精品成人免费看| 天美一二三在线观看Av| 久啪视频| 思思热免费视频观看| 超碰爽人妻熟女Av| aV中文麻| 日本成人电影资源网| 91亚洲人电影| 高清无码学生妹高潮| 国产精品精品系列在线观看| 日韩精品一区的| 加勒比日本在线| 夫妻日逼| 综合久久婷婷| 99re热| 免费看黄片现成| 色色色欧美| 色妇91| a片偷拍视频| 99无码| 九九久久国产精品怡红院| 国产美女自拍AV| 青青草九九九九九| 国产免费内射视频| 激情视频网址| 欧美超碰97| 97五月天| 国产精品一区二区三| 国模少妇一区二区三区 | 激情国产乱伦Av| 99热在线不卡| 日本人妻中文字幕精品| 91在线色| wwwxxx日本爽| 九九九久久久久| 99婷婷一区二区| 9丨久久九九九| 欧美麻豆成人同性GⅤ在线| 天天天天做夜夜夜夜做| 亚洲精品第一| 亚洲第一页综合在线| 91精品无码人妻系列| 激情四射五月天| 色黄色美女大长腿午夜视频| 人人操人人射人人干| 亚欧成人中文字幕一区| 97精品97久久| 欧美在线观看综合国产| 欧美 亚洲| 丁香五月天啪啪| 亚洲丝袜少妇在线| 99国产天美| 国产精品不卡高清在线观看| 97精品久久久久久久| 国产无码久久高清| 国产风韵犹存熟妇三区| 91狠狠综合久久| 女生91网站| 欧美最婬乱婬爆婬性视频| 亚洲中文字幕在线视频一区二区| 日本大香蕉| 亚洲精品第一| 久久99国产精品| 亚洲日韩av一区二区三区百合| 成人精品久久久午夜福利| 热久日综合| 日本色色色色色视频| 91亚洲丝袜熟女| 密桃99999| 26uuu久久| 91天美传媒在线观看| 精品亚洲国产成人AV制服丝袜 | 婷婷丁香五月天综合东京热| 亚洲高清91| 色盈盈影院| 很很很很操| 熟女六十路| 神马久久久久久久| 嫩草 我啊~嗯~在线| 91一起操| 免费在线黄片视频| 翔田千里A片一区二区| 色www精品视频在线观看| 亚欧韩av| 一个人免费视频观看在线WWW| 超碰97亚洲区| 亚洲最大黄网| 久久九九网| 国产日韩无码一区二区三区久久区| 日韩精品国模| 久久国产精品,久久国产| 日韩性爱高清免费视频| 女人与公拘交酡2020视频| www.成人无码| 久久国产99精品72福利| AV在线资源| 在线日韩视频| 岛国视频一二三区| 亚洲欧洲自拍图片专区满春格| 青青草华人在线欧美在线| 久久久穴999| 五月激情小说| 图片区小说区| 久干9操| 98人妻精品一区二区色欲| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 夜夜操天天肏| 久久久久久国产精品| 免费公开人人操| 国产在线综合网| 好涩综合| 超碰这里只有精品| 91人妻最真实刺激绿帽| 国产一区二区在线播放量| 高清在线不卡一区二区 视频| 国产亚洲福利第一页丝袜| 人人操人人肉久久精品| 色黄污美女啪啪啪免费网站| 搡老女人老妇女老妇老熟女怎么读| 婷婷亚洲综合| 国产一| 精品一级毛片在线观看| 上海一级黄片| 97色诱| 好爽视频在线观看视频| 国产精品成人无码av| 美女啪欧美一区| 加勒比海人人操超碰在线| 18禁的网站在线| 少妇69中文| 综合久久少妇中文字幕| 999狠狠综合| 香港久久久| 亚洲av强奸乱伦| 四季AV一区二区凹凸精品小说| 91精品91久久久久77777俄罗斯老妇姓x| 99婷婷一区二区| 日本三级小说中文字幕| 男人天堂2017| 国产精品久久发布| A级片日韩欧美国产欧美视频精选观看| 九九亚洲视频| 欧美综合天天| 久久秀这里有精品| 大学生口爆吞精| 手机久操欧美综合色码| 尤物网址| 暴力av在线| 五月丁香影院| 国产精品不卡av免费在线观看| 久久久久密| 人妻性爱一区二区| 亚洲97网站| 久久综合九九| AV天堂国产| 淫穴高潮色图| 亚洲欧美中日韩| 人妻 丝袜美腿 中文字幕| 日本一久是| 天天色悠悠激情| 黑人性暴力毛片| 久久999久| 国产中文大片资源中文字幕| 久久久草草精品| 亚洲 欧美 天天| 日韩精品中文字幕一| 久热这里| 狠色婷婷久久一区二区三区_| 日日碰狠狠添天天爽超| 无码不卡八戒| 91丝袜美女视频| 成人在线午夜视频一区| 色噜噜综合在线| 欧美一区二区三区日韩| 国产精品嫩草影院午夜两性| 性色综合网| 乱操9999| 亚洲人妻久久久| 欧美狠狠弄| 午夜精品99久久久久传媒| AV网站高清无码在线观看| 天天综合网~91| 91狠狠狠| 老鸭窝成人免费毛片视频| 国产情色在线| 无码九九九九| 久草精品在线| 欧美熟妇色| 中文字幕精品亚洲熟女| 99热大香蕉伊在线| 色欧美色交综合| 亚州高清AV| 99re黄| 伊香蕉综合久久久久久久噜噜噜 | 五月丁香啪啪啪| 天天爽人人综合免费7799| 久久草在线综合视频| 日韩黄色成人性爱| 婷婷精品| 亚洲一区二区三区麻豆传媒| 欧美熟妇亚洲版| 夜夜操夜夜高潮夜夜爽国产精品区| 美女黑人91神马| 天天干人妻视频| 人妻啊啊人妻啊| 天堂伊人久久| 日本免费一区二区不卡| 快播久久人人aV| 亚洲欧美色图片| 久久成年片色大黄全免费网站| 永久免费观看的毛片的网站| 91精品国产日韩欧美综合| 97摸视频| 精品人妻无码一区二区三区不卡-精品人妻无码一区二区...|精品少妇一区二区三 | 色色热| 欧美美女在线高潮999| 国产女人9999| 国产一区二区二区按摩精品啪视频| 欧美色图色综合| 成人av动漫在线观看| 人妻插插人妻人| 激情文学亚洲| 亚洲日韩美女中文字幕乱| 丝袜狂射91| av72网| 啊啊啊免费视频| 亚欧国产无码精品在线| 国精品一区二区三| 啊啊啊啊啊在线| 99热只有这里有精品| 天天干天天日天天射黄色片| 亚洲高清视频在线免费观看| 久久香蕉国产线看观看猫咪av| 夜夜爽妓女| 国产高清自拍| 亚州成人A√| 91天天综合日韩欧美| 大香蕉乱伦视频网| 久久久久久人体| 人人扣人人操| 中文字幕熟女人妻丝袜| 五月天婷婷成人网| 好爽视频在线观看视频 | 2021国产成人精品久久| 久久人妻97久久久久久久| 日va操| 伊人AAA| 久久久四区| 五月丁香六月激情| 中文字幕三四五区| 91欧美| 99re视频这里只有精品| 97视频网站在线观看| 思思热影视| 啊啊在线| 亚洲男人的天堂V| 国产精品久久妻无码网站| 东北黄色电影| 特级特黄一级毛片免费| 91熟女.com| 国产男女无套视频免费观看| 亚洲无992tv| 91超碰碰在线| 7月婷婷综合| 秋霞免费AV| 美女被啪到深处抽搐视频| 欧美精品双插| 任我爽在线视频免费观看| 欧洲亚洲国产综合在线| 欧美综合色| 日韩久久超碰色| 日韩av在线播放不卡| 国产亚洲色停停久久99精品91| 二对二中文字幕。| 中文字幕一区 二区三四五 区日 日骚| 亚洲日韩在线a不卡99精品| 天天爱综合网| 中文字幕一区二区三区蜜桃视频| 嗯嗯嗯不要不要免费视频| 国产精品视频精品一二| 国产精品麻豆视频网站| 国产精品一二三区18| 国产美女自拍视频| 天天日天天看| 干B网| 亚洲九九视频| 欧美性性性| 国产精品乱码久久久| 欧美综色欧| 色欲久久99精品久久| 亚洲国产中文字幕| 欧美亚洲韩国视频十五区 | 蜜臀中文字幕| 色人久久| 日韩 欧美 另类 人妻| A一区片| 欧州一区二区三区四区| 久久久96| 精品午夜福利国产一区二区在线观看| 日韩精品国产一区二区| 岛国大片在线观看网站入口| 亚洲色图欧美色图日韩色图| 在线可观看的黄色网址| 婷婷五月天色色| 999在线电影香蕉| 欧美嗯啊……在线观看视频免费| 蜜桃在线观看一区二区三区| 欧美韩国你懂得在线 | 欧美国产日韩清纯唯美| 丰满人妻一区二区三区在线| 小骚逼被操的爽不爽| 日日AAvv| 青娱乐福利99| www.色操逼| 97网址www| 超碰 欧美| 超碰日韩人妻| 日本三级韩三级99久久| 素颜老阿姨乱情色| 92久久| 欧美丝袜制服久久| 天天天乱色综合全| 精品十八在线观看| 国产欧美精选激情视频| 男人亚洲91首页在线| 久草线上视频免费看| 很很操在线| 理论久久婷婷网 8| 欧美亚洲高清晰| 激情抓乳插进去啪啪啪日韩 | 草草草视频在线免费看| 色99视频| 精品97久久| 在线观看av区| 国桃视频产巨乳精品一区二区在线| 欧美激情专区| 久久,精品一二三| 九九九成人| 99热啪啪| 蜜伊人色综合97| 国产乱人妻精品入口| 久草午夜| 激情欧美日韩女同久久| 国产成人无码a| 亚洲欧美另类少妇精品| 亚洲色婷婷久久91| 大香蕉在线视频15| 国产精品麻豆成人av| 欧美熟妇乱码在线一区| 久久男人精品| 亚洲情色综合网| 丁香五月激情综合国产| 亚洲 欧美 第一页| 射丝袜高跟鞋99| 国产9 9在线 | 亚洲| 久久爽爽精品| 久久ww| 偷拍精品一区二区三区| 欧美少妇性乱| 人人扣人人操| 超碰97人人cao| 草草草草视频| 人妻熟女字幕一区二区| 超碰午夜| 欧美人妻熟女在线| 天天干2区3区| 欧美国产伊人久久久久| 欧美牲| 久久宗合亚洲| 白丝1区2区3区| 国产一区二区视频在线播放| 96久久久久久久| 日韩精品第3页| 久久久久免费少妇| 成人性爱全视频观看| 91激情| 男人天堂日日夜夜| 99九九久久| 亚洲av热热色| 老熟女中文字幕高清| 啊啊啊慢点| 日韩卡一卡二卡三在线| 中文字幕精品人妻丝袜| 99re这里只有| 成人片在线播放| 懂色av中文字幕| h无码动漫在线观看| 亚洲自拍一区夜夜操| 起碰97| 色999五月色| 人妻少妇无码 | 欧美日韩大陆黑人少妇99| 啪啪综合网| 美女尤物福利视频| 日韩欧美加勒比| 98一区二区精品| 青草精品视频-日本久久久久网站| 国产成人无码网站在线视频| 欧美亚洲韩国视频十五区| 欧美顶级黄色大片免费| 亚洲国产中文字幕| 搡老熟女老女人老熟妇免费视频| 亚洲天堂久| 国产懂色精品国产av| 久久后入制服| 婷婷导航| 麻豆久久精品亚洲精品88| 99热免费| 天天看天天日天天操| 日韩97视频!在线| 欧美视频一| 美女AV一区二区| 天天搞在线综合网| 亚洲美女高潮喷水视频| 青青草中文-久久青草精品一区二区三 | 人妻另类| 久无码| 国产又黄又粗的视频| 99蜜桃臀久久久欧美精品网站| 亚洲囯产精品女人久久久| 久久久久无码一妻区| 新版天堂中文资源8在线| 男人的天堂一区| 免费看污网站| 日本国产高清色www视频在线| 伊人久大| 少妇毛片久久| www国产天美久久久| 国产精品乱码久久久久久久久| 看看小穴| 18禁的网站在线| 啊啊啊好舒服视频| 美骚妇av高清在线| 女人高潮抽搐喷水视频网站| 亚洲情色欧美| 日本好吊色视频| 日韩有码免费视频| 欧美不卡二区| 亚洲色婷婷久久久综合日本| 青青欧洲黑| 亚洲春色激情小说| 欧美人妻精品一区二区| 欧美精品三区| 俺去啦自拍| 99青青草国产视频| 亚洲综合色网| 国产高清成人mv在线观看| 欧美色图第一页| 97在线资源| 99热精品青草在线 | 日韩78m视频| 91人妻爽爽人人做人人澡| 99国产精品视频尤物| 国产97视频| 蜜桃臀一区二区三区久久| 国产一区麻豆免费观看| AV中文在线| 欧美日韩操操操| 亚洲国产91精品一区二区久久| 成人三级片一区二区三区视频| 蘋果手機免費看成人Av| 91啪9色| 深爱激情五月天| 亚洲情色中文字幕一区| 精品久久久久久AV无码| 诱惑网综合| 97在线播放 | 亚洲激情欧美色图| 是还免费视频1727我| 综合亚洲情色| 欧美色图片91| 天堂av2019| 熟妇熟女视频一区二区三区| 亚洲成av人片色午夜乱码| 国产白嫩漂亮KTV在线| 操婢日韩| 日韩在线一区高清在线| 亚洲黄片免费在线播放| 沈阳熟女高潮对白视频| 亲子敌伦对白在线播放| 91丝袜在线播放| 九九九九精| 国产97亚洲| 97天天| 亚洲Av诱惑| 欧美日韩欧美| 久久久日本电影| av天堂电影网| 一区二区中文| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 国产在线综合福利网站| 日韩一级欧美一级国产一级台湾| 在线综合网| 成人性爱免费播放| 久艾草在线精品视频在线观看| 秋霞一集毛片观看| 成人免费看吃奶视频网站| 免费的黄片有限公司| 91丨豆花丨熟女| 亚洲一欧洲中文字幕在线| 丁香六月东京热| 无码自拍SM| 激情综合五月| 亚洲天堂另类小说男人| 精品亚洲俞拍视频一区| 亚洲国产青青| 天天干夜夜鈤| 精品人成视频在线观看| 欧美精品日韩久久久九| 天天干天天操天天干天天操| 国产成人+综合亚洲+天堂| 欧美另类色图片| 国产精品91ai| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 天美久久久久| 中文字幕精品探花视频| 久久久久亚洲AV无码专区少妇| 亚洲欧美日韩精品久| 五月天激情视频| 色九九九| 热热色综合网| 久久精品国产亚洲AV先锋| 日本精品网站在线中文| 黑人精品成人一区二区三区| 屌逼麻豆| 欧美国产一区二区三区麻豆传媒| 天天在线91| 色激情综合网站| 日韩成人精品视频自拍| 欧美 亚洲 综合 制服| 性爱AV天堂| 九九热三级片| 色狠狠 - 百度| 男人夜色天堂ss| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 亚洲 另类 丝袜 自拍 动漫| 蜜臀久久99精品久久久久久成人小说 | 成全动漫视频观看免费下载| 久久久久久AⅤ无码免费肉站| 97WW精品| 日韩成人人妻网站| 爱妃国产亚洲视频中文字幕| 日韩中文字幕二区| 男生女生啊啊啊啊| 91综合网在线| 亚洲强奸乱伦影视网| 亚洲最大黄网| 亚洲成成熟女人综合一区二区| WWW操逼| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 思思热在线视频精品| 天天天天天天天天综合| 97精| 九九综合色| 98福利在线视频| 欧美黄色手机在线观看| 色五月首页| 99热国产精品| 26uuu性物| 五月婷婷hd| 亚洲色天| 国产农村妇女一区二区| 久久久999国产精品| 亚洲色图日韩精品| 黄日韩| 久久久久亚洲熟妇熟女| 中文字幕五区| 精品一级| 亚洲五月婷婷| 国产91丝袜 在线播放| 一区三区啪啪| 中文无线日韩一区| 欧美日韩精品一区二区三区高清| 9超碰免费| 国产精品第一区第一页| 少妇蜜汁| 欧美精品精品一区二区| 久久久久久性爱片| 亚洲欧美天堂| 99国内精品| 91中出| 国内精品不卡无毒99999| 屁股久久久久久| 日本人体九九九九九九| 欧美综合另类| 婷婷三区| 最新av网站在线观看| 久久久婷婷| 亚洲国产欧美另类自拍| 亚洲欧美日韩电影网站一区 | 人人爽人人精品乱人伦AV| 日本性爱欧美性爱| 小骚逼被操的爽不爽| 久久精品中文字幕观看| 2019午夜福利视频| 美国一区二区免费视频| 日1区2区3区2020| 99激情| 久久精品国产Aⅴ| 诱惑人妻欧美一区在线播放| 91精品久久久| 亚州国产成人精品女人久久| 免费看一级a性色生活片久久无| 一二三四区电影| 色噜噜综合在线| 亚州熟女乱伦| 校园春色综合香蕉| 操婷婷逼| 亚洲国产综合图区中文字幕| 女同性恋一区二区三区精品视频| 色欲av一区二区三区蜜芽| 亚洲丝袜制服国产91_国语字幕免费观看完整版下载第5集_ | 性爱av在线免费观看| 91欧美色| 99re69综合| 91精品伊人久久久大香线蕉91| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 中文字幕免费看大片| 欧美性高潮在线| 一区=区三区视频| 日本高清_区二区三区| 九t超碰| 亚洲影院小综合| 亚洲最大的综合性av| 亚洲国产97| 偷拍片久久| 久热伊人99re| 久久久久久久国产a∨| 性色A∨91| 国产精品在线网站| 久久精品人体AV| 青青伊人这里只有精品| 1240青青草一区二区三区视频天爱| 91久久午夜无码鲁丝片久久人妻| 不卡啪啪视频| 最新av网站在线观看| 国产精品白丝www| 97精品免费| 欧美亚州综合图片| 色噜噜综合在线| 国产乱人伦AVA麻豆软件.| 国产传媒日韩欧美| 亚洲91射| 绑缚麻绳人妻寝取完整版| 婷婷色五月激情| 麻花传媒免费网站在线观看| 午夜精品久久久久久久久久久久久 | 加勒比性爱成人在线| 九一综合精品视品av| 亚洲午夜av| 色色色色日本| 中国操逼无码| 美女91| 久久99干一本高清| 日韩少妇在线视频| 超碰97玖玖爱| 九九热精品在线| 色九月婷婷| 日韩精品在线观看网站| 国产一区二区在线播放量| 亚洲一二三四区| 国产97色在线 | 亚洲| 精国久久一区二区三区98| 5252色欧美在线| 四虎永久在线精品免费网址| 六月丁丁香| 欧美日韩91| 欧美丰满熟妇XXXX性ppX人交| av天堂天堂av日韩| 翔田千里Av在线| 国产一级舔足在线观看| 91肉丝| 欧亚日韩中文在线| 不卡视频一区蜜桃视频 | 404操逼福利视频| 岛国色情视频在线观看| 五十路六十路七十路熟婆| 日本孕妇一区二区视频操逼免费看| 麻豆精品.欧美精品.日韩精品.| 在线播放欧洲免费av| 91精品操美女| 蜜汁欧美| www.男人的天堂| 欧美97在线欧| 精品一区二区三区国产| aaa亚无码专区| 日韩 国产 欧美自拍| 国内精品嫩模A∨私拍小视频| 亚洲啪啪综合?v一区综合精品区| 青草综合| 呦呦影院| 一本大道不卡一二三区| 岛国黄| 中文字幕狠狠玩| 91精品国产麻豆国产自产在| 中文字幕在线日亚州9| 婷婷综合| 骚乳在线| 97超碰资源网| 久久成人网站| 国产成人五月天丁香花| 亚洲加勒比久久日本道| 免费αV在线视频| 亚洲成人日韩小说| 色噜噜人妻丝袜a∨先锋影| 综合色啪| 色av中文字| 欧美性爱一区| 日本性一区| 超碰在线91| 另类图片欧美激情综合| 日本一级婬片试看三分钟| a级理论午夜日本| 亚洲精品视频二区| 五月天久久婷婷亚洲| 强奸乱伦Av网| 亚洲操操| 日本 免费 一区二区三区 久久香蕉| 91精品国久久久久久无码| 俺也射| 九九九九热| 亚洲91在线播放影院| av资源在线观看少妇| 一牛影视久久久一区二区三区| 天天日天天操VV| 亚洲国产97在线精品一区| 久久国产成人精品国产成人亚洲| 日韩国产欧美伦理在线| 四虎AV在线观看| 狠狠亚洲| 丝袜AV一区二区三区| 精品中文字幕第一页| 久久久五月天| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 一区二区三| 日本欧美一区二区三区免费| 人妻AV 中文字幕的| 狠狠躁天天躁日日躁| 人人操人人肉久久精品| 一区二区三区黄片免费观看| 夜夜中出国产| 欧美洲精品一级| 大二网站亚洲| 五月婷婷激情网| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊| 亚洲中文丝袜美腿诱惑字幕| 色在线亚洲视频www| 日韩人妻少妇中文字幕| 欧美精品亚洲精品日韩传电影| 中文字幕av亚洲精品| 日韩成人网址| 亚洲日韩乱码中文无码蜜桃臀网站 | 手机在线A片| 亚洲熟女国产综合另类| 97亚洲综合在线| 探花熟女,姿勢到位,體驗感也到位| 91在线免费观看处女| 91性网| 日本午夜福利影院| 亚洲综合校园春色| 秋霞免费无码视频日韩A片| 亚洲国产第一页综合视频| 久久风骚城市| 成人八戒网站| 麻豆成人av| 26uuu国产亚洲综合| 殴美牲| 青草成人免费视频一COm| 中字乱伦AV| 人人妻人人色一区二区三区| 强奸乱伦大香蕉| 久久999久| 激情 欧美 亚洲 小说| 成年男人的天堂| 中国一级αV| 久久熟女人| 91九九| 欧美 中文字幕 一区| 蜜臀久久99精品久久久久| 日韩人妻少妇 一区二区三区| 久久久啊啊啊| 婷婷大香蕉| 日韩猛交| 最新AVzaixian| 韩国一级做a久久久久| 东北黄色电影| 日本性感人妻91| av亚洲天堂资源网站| 亚洲天堂男人在线| 蜜臀中文字幕| 啊啊啊啊啊啊在线看| 亚洲高清视频在线免费观看| 欧美人妻精品| 秋霞一集毛片观看| 又摸又舔在线观看网站| 国产精品女生av| 男人的天堂久久狠| 无码抄逼网| 亚洲男人天堂2017| 精品视频日日夜夜| 强奸乱伦 亚洲一区| 白 大 人妻 区 在线| 探花在线免费观看视频国产一区| 亚洲国产中文字幕| 婷婷天堂站| 97九色| 国产精品在线网站| 精品一区二区成人动漫| 亚洲人妻日日日| 熟妇人妻一区二区三区| 国产亚洲精品激情| 欧美色图小说综合| 先锋精品av色鲁| www.99色| 亚洲AV不卡在线观看| 欧美亚洲日韩人妻在线观看| 国产精品ww久久| 香蕉免费一区二区三区不读| 伊人久久大香大香线蕉中文| 日韩在线电影| 啊啊啊不要啊啊受不了了视频在线 | 亚洲av无线观看| 91色香| 欧美色图 人妻| 99在线观看| 97资源视频| 超碰色大香蕉| 精品美女在线视频| 欧美顶级黄片AAAAA在线免费看| 亚洲资源站| 日日夜夜模| 理论久久婷婷网 8| 人人摸人人添人人操| 伊人超碰97| 日韩欧美偷拍美女视频| 欧美亚洲丝袜人妻制服99| 岛国毛片在线观看免费| 色爱天堂| 黑人精品久久97| 精品少妇后入一区二区三区四区人妻巨乳 | 久久国产精品一级二级三级| 亚洲 图片 综合91| 国产一在线观看| 亚洲人妻精品一区二区| 1204金沙人妻懂旧版免费| 五月丁香啪啪啪| 精品偷拍13p欧美dodk视频| 国产精品日日摸夜夜添骚逼| 亚洲九九爱| 国内精品不卡无毒99999| 人人做人人妻人人夜视频| 中文字幕人妻资源在线| 国产乱码久久久| 日韩精品怡红院| 日本伦理一区二区| 开心五月深爱五月| 91c色| 波多野结衣之双飞调教在线播放 | 18禁在线视频| 九久精品| 91操熟女视频| 亚洲精品97中文字幕| 日少妇亚洲版| 老鸭窝亚洲毛片| 1024香蕉视频| 一级免费啪啪片| 国产精品欧美日韩久久| 亚洲欧洲av影音| 精品999999| 欧美色另类| 久伊人网78| 国产天天噜一噜久久久| 亚洲综合情色| 性性久久| 97超级欧美| 天天碰操中国年青熟妇| 久久9精品视频| 性爱动态120秒| 天天干天天干天天| 99碰碰| 激情AV| 中文字幕永久在线| 婷婷丁香久久| 丁香六月婷婷久久综合| 亚欧性爱在线无码| 青草av在线| www…国产操逼| 婷婷AV一区二区三区| 久久久无码av精| 亚洲国产麻豆一区二区三区| av网页一区二区三区| 无码WWW免费视频网站| 亚洲无码?第一页| 97人人操人人摸| 久久精品国产亚洲AV片多多| 岛国片国产成人亚洲播放| 搡老女人老妇女AAA一VU麻豆| 欧美一级特黄淫片在线观看| 亚洲国产婷婷在线播放| 欧美日韩 强奸乱伦| 成人午夜小视频手机在线看| 国产树林里野战在线看| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 天天干18禁| 97国产精品视频| 国产精品一区二区久久精品|