透過 100+ 個技巧的集合學習 Nuxt!

nuxt-i18n-micro
nuxt-i18n-micro

I18n Micro 是一個快速、簡單且輕量的國際化 (i18n) 模組。

npm versionnpm downloadsLicenseNuxtDonate

logo

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 了。

文件

外掛程式方法

效能

效能測試結果

元件

圖層

SEO

遷移

貢獻