我的 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,
])
并重新启动服务器,但我没有成功...
您使用的 Next.JS 版本是什么?我遇到了同样的问题,通过更新到 +10.0.0 来解决。
您可以在 Next 的 i18n 文档中看到这是最低版本。
Next.js 自 v10.0.0 起内置了对国际化 (i18n) 路由的支持。您可以提供区域设置列表、默认区域设置和特定于域的区域设置,Next.js 将自动处理路由。
所提出的使用插件的方法不再合适。
请查看
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();
我强烈推荐这个包,因为它允许我们无缝地应用插件,插件应用程序不易出错,并且最终的代码看起来干净且一致。