You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Next-i18Next localePath配置在构建时失效问题求助

next-i18next路径重复构建错误与Vercel部署修复

问题根源

  1. 本地构建路径重复:你用path.resolve()生成的绝对路径,被next-i18next内部的路径处理逻辑重复拼接——它会把这个绝对路径再拼到项目根路径后面,就出现了错误里的双重绝对路径。
  2. Vercel生产环境路径失效:直接写./public/static/locales在Vercel上不行,是因为Vercel部署时会把public目录作为静态资源的根目录,最终路径里不会包含public这一层。

修复代码

直接放弃path.resolve(),用相对路径,同时适配本地和Vercel的环境差异:

const NextI18Next = require("next-i18next").default;

module.exports = new NextI18Next({
  defaultLanguage: "fr",
  otherLanguages: ["en"],
  // 本地用这个路径,Vercel部署时自动识别public为根目录,也能正确找到
  localePath: "./public/static/locales",
});

如果还是担心Vercel的兼容性,可以加环境判断做适配:

const NextI18Next = require("next-i18next").default;

module.exports = new NextI18Next({
  defaultLanguage: "fr",
  otherLanguages: ["en"],
  localePath: process.env.NODE_ENV === "production" ? "./static/locales" : "./public/static/locales",
});

必做检查

  • 确认public/static/locales/fr和public/static/locales/en目录存在,且里面有对应的翻译JSON文件(比如common.json)。
  • Vercel部署时,确保public目录没有被.gitignore或Vercel配置排除。

内容的提问来源于stack exchange,提问作者Matteo Robert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 15:15:38