W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
當(dāng)需要打包你的應(yīng)用程序的時(shí)候,你可以使用 Parcel 的生產(chǎn)模式。
parcel build entry.js
這將關(guān)閉監(jiān)聽模式和熱模塊替換,所以它只會(huì)編譯一次。它還會(huì)開啟 minifier 來減少輸出包文件的大小。Parcel 使用的 minifiers 有 JavaScript 的 terser ,CSS 的 cssnano 還有 HTML 的 htmlnano。
啟動(dòng)生產(chǎn)模式還會(huì)設(shè)置環(huán)境變量 NODE_ENV=production 。像 React 這種只用開發(fā)調(diào)試功能的大型庫(kù),通過設(shè)置這個(gè)環(huán)境變量來禁用調(diào)試功能,從而構(gòu)建得更小更快。
若要利用一些僅開發(fā)調(diào)試才有的特性,要確保terser's dead_code option是開啟的狀態(tài)(默認(rèn)開啟)并且將僅開發(fā)調(diào)試代碼包裹在條件檢測(cè)中:
if (process.env.NODE_ENV === 'development') {
// 或, `process.env.NODE_ENV !== 'production'`
// 僅在開發(fā)環(huán)境下運(yùn)行并將在生產(chǎn)環(huán)境下剔除.
}
為了對(duì)你的 cdn 設(shè)置非常激進(jìn)的緩存規(guī)則,以獲得最佳性能和效率,Parcel 將會(huì)給大多數(shù) bundles 文件名添加 hash(根據(jù) bundle 包是否有可讀/可記憶的名稱,主要用于 SEO)
Parcel 在命名 bundles 文件時(shí),遵循以下表格(入口文件不會(huì)被 hash 處理)
Bundle Type | Type | Content hashed |
---|---|---|
Any | Entrypoint | ? |
JavaScript | <script> | ? |
JavaScript | Dynamic import | ? |
JavaScript | Service worker | ? |
HTML | iframe | ? |
HTML | anchor link | ? |
Raw (Images, text files, ...) | Import/Require/... | ? |
文件哈希遵循以下命名模式:<directory name>-<hash>.<extension>
為了優(yōu)化生產(chǎn)環(huán)境的構(gòu)建性能,在運(yùn)行 build 命令的機(jī)器上 Parcel 將嘗試確定可用的 CPU 數(shù)量,以便相應(yīng)地分配工作。為此,Parcel 依賴于physical-cpu-count庫(kù)
請(qǐng)注意,此模塊假定您的系統(tǒng)中提供了lscpu程序
如果要將 Parcel 集成到持續(xù)集成系統(tǒng)中(例如 Travis 或 Circle CI)中,則可能需要將 Parcel 安裝為本地依賴項(xiàng)。
這里是說明
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: