Nuxt I18n Micro
Nuxt I18n Micro
是一個快速、簡單且輕量的 Nuxt 國際化 (i18n) 模組。儘管它體積小巧,但其設計考量了大型專案,相較於傳統的 i18n 解決方案(如 nuxt-i18n
),它提供了顯著的效能提升。這個模組從頭開始建構,以實現高效能,著重於縮短建置時間、減少伺服器負載以及縮小套件大小。
為什麼選擇 Nuxt I18n Micro?
建立 Nuxt I18n Micro
模組是為了解決原始 nuxt-i18n
模組中發現的關鍵效能問題,尤其是在高流量環境和具有大型翻譯檔案的專案中。nuxt-i18n
的主要問題包括:
- 高記憶體消耗:在建置和執行期間消耗大量記憶體,導致效能瓶頸。
- 效能緩慢:特別是在處理大型翻譯檔案時,會導致建置時間和伺服器回應速度明顯變慢。
- 套件大小龐大:產生龐大的套件,對應用程式效能產生負面影響。
- 記憶體洩漏和錯誤:已知在高負載下會發生記憶體洩漏和不可預測的行為。
效能比較
為了展示 Nuxt I18n Micro
的效率,我們在相同的條件下進行了測試。兩個模組都在相同的硬體上使用 10MB 的翻譯檔案進行測試。
建置時間和資源消耗
Nuxt I18n:
- 總大小:54.7 MB (3.31 MB gzip)
- 最大 CPU 使用率: 391.4%
- 最大記憶體使用量:8305 MB
- 經過時間:0 小時 1 分 31 秒
Nuxt I18n Micro:
- 總大小:1.93 MB (473 kB gzip) — 小 96%
- 最大 CPU 使用率:220.1% — 低 44%
- 最大記憶體使用量:655 MB — 減少 92% 的記憶體
- 經過時間:0 小時 0 分 5 秒 — 快 94%
伺服器效能(10k 請求)
Nuxt I18n:
- 每秒請求數:49.05 #/秒 (平均值)
- 每個請求的時間:611.599 毫秒 (平均值)
- 最大記憶體使用量:703.73 MB
Nuxt I18n Micro:
- 每秒請求數:61.18 #/秒 (平均值) — 每秒多出 25% 的請求數
- 每個請求的時間:490.379 毫秒 (平均值) — 快 20%
- 最大記憶體使用量:323.00 MB — 減少 54% 的記憶體使用量
這些結果清楚地表明,Nuxt I18n Micro
在每個關鍵領域的表現都明顯優於原始模組。
主要功能
- 🌐 小巧卻強大:儘管體積小巧,
Nuxt I18n Micro
的設計適用於大型專案,專注於效能和效率。 - ⚡ 最佳化建置和執行:縮短建置時間、減少記憶體使用量和伺服器負載,使其成為高流量應用程式的理想選擇。
- 🛠 簡約設計:該模組僅由 5 個元件(1 個模組和 4 個外掛程式)組成,使其易於理解、擴展和維護。
- 📏 高效能路由:無論語言環境的數量為何,由於動態的基於正規表示式的路由,只產生 2 個路由,不像其他 i18n 模組會為每個語言環境產生單獨的路由。
- 🗂 簡化翻譯載入:僅支援 JSON 檔案,翻譯分為通用文字的全局檔案(例如,選單)和頁面特定的檔案,如果不存在,則會在
dev
模式中自動產生。
快速設定
使用以下方式在您的 Nuxt 應用程式中安裝模組
npm install nuxt-i18n-micro
然後,將其加入到您的 nuxt.config.ts
export default defineNuxtConfig({
modules: [
'nuxt-i18n-micro',
],
i18n: {
locales: [
{ code: 'en', iso: 'en-US', dir: 'ltr' },
{ code: 'fr', iso: 'fr-FR', dir: 'ltr' },
{ code: 'ar', iso: 'ar-SA', dir: 'rtl' },
],
defaultLocale: 'en',
translationDir: 'locales',
meta: true,
},
})
就是這樣!您現在可以在您的 Nuxt 應用程式中使用 Nuxt I18n Micro 了。