如何在 next.config.js 文件中将 withPlugins 与国际化配置结合起来

问题描述 投票:0回答:2

我的 next.config.js 中有以下代码

const withPlugins = require('next-compose-plugins');
const optimizedImages = require('next-optimized-images');

module.exports = withPlugins([optimizedImages], { target: 'serverless' });

现在我需要将以下配置添加到文件中,并与插件结合使用

i18n: {
    locales: ["en", "es"],
    defaultLocale: "en",
  },

我尝试过以下方法,

const nextConfig = {
  i18n: {
    locales: ["en", "es"],
    defaultLocale: "en",
  },
};

module.exports = withPlugins([
[optimizedImages, {
    target: 'serverless'
    },
  ],
nextConfig,
])

并重新启动服务器,但我没有成功...

internationalization next.js module.exports
2个回答
0
投票

您使用的 Next.JS 版本是什么?我遇到了同样的问题,通过更新到 +10.0.0 来解决。

您可以在 Next 的 i18n 文档中看到这是最低版本。

Next.js 自 v10.0.0 起内置了对国际化 (i18n) 路由的支持。您可以提供区域设置列表、默认区域设置和特定于域的区域设置,Next.js 将自动处理路由。

更多信息:https://nextjs.org/docs/advanced-features/i18n-routing


0
投票

2023 年更新

所提出的使用插件的方法不再合适。

请查看

next-compose-plugins
的后继者,即 next-recompose-plugins。这个包为 Next.js 的插件配置和组合提供了一个干净、简单的 API。

先睹为快:

const config = new Config(async () => {
    await something();

    return {...};
  })
  .applyPlugin((phase, args, config) => {
    return plugin1(config);
  }, 'plugin-1')
  .applyPlugin((phase, args, config) => {
    return plugin2(config);
  }, 'plugin-2')
  .applyPlugin((phase, args, config) => {
    return plugin3(config);
  }, 'plugin-3')
  .build();

我强烈推荐这个包,因为它允许我们无缝地应用插件,插件应用程序不易出错,并且最终的代码看起来干净且一致。

© www.soinside.com 2019 - 2024. All rights reserved.