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 v9:
- 总大小(构建):13.7 MB (2.2 MB gzip)
- 最大 CPU 使用率: 248.50%
- 最大内存使用量:3057.23 MB
- 耗时:0小时 0分钟 12秒
Nuxt I18n Micro:
- 总大小(构建):229 KB (152 KB gzip) — 小 13.47 MB 或 98.36%(gzip 小 2.05 MB 或 93.10%)
- 最大 CPU 使用率:195.00% — 低 21.53%
- 最大内存使用量:1140.63 MB — 内存减少 1916.6 MB
- 耗时:0小时 0分钟 7秒 — 快 5 秒
服务器性能(1 万次请求)
Nuxt I18n v9:
- 每秒请求数:34 #/秒(平均值)
- 每次请求耗时:1487.60 毫秒(平均值)
- 最大内存使用量:9958.67 MB
Nuxt I18n Micro:
- 每秒请求数:339 #/秒(平均值)— 每秒多 305 个请求(增加 897.06%)
- 每次请求耗时:5.10 毫秒(平均值)— 快 1482.50 毫秒(减少 99.66%)
- 最大内存使用量:405.20 MB — 内存使用量减少 9553.47 MB(减少 95.93%)
这些结果清楚地表明,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 了。