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

Next.js中/app目录迁移至/src/app的问题排查

迁移Next.js项目到src/app后翻译功能失效的排查步骤

以下是你可能遗漏的配置点及解决办法:

  • 更新翻译资源的路径配置
    如果你用的是next-intl、react-i18next这类翻译库,迁移到src/app后,资源文件的引入路径大概率需要调整。比如原本在项目根目录的locales文件夹,若你的翻译配置文件(比如i18n.ts)现在放在src目录下,那加载资源的路径就得从./locales/{{lng}}/{{ns}}.json改成../locales/{{lng}}/{{ns}}.json,确保能正确找到翻译文件。

  • 检查Middleware的位置与引用
    注意:middleware.ts/middleware.js必须放在项目根目录,不能放到src里。如果之前误移了,赶紧移回根目录。同时要检查middleware里导入src中模块的路径是否正确,比如原本的import { getLocale } from './app/i18n/utils'要改成import { getLocale } from './src/app/i18n/utils'。

  • 修正TypeScript配置(若使用TS)
    打开tsconfig.json,确认compilerOptions里的配置适配src结构:

    {
      "compilerOptions": {
        "baseUrl": ".",
        "paths": {
          "@/*": ["./src/*"]
        }
      },
      "include": ["src/**/*", "next-env.d.ts"]
    }
    

    这样能保证TS正确识别src下的文件,避免导入路径报错。

  • 检查组件中的翻译钩子引用
    遍历所有用到翻译功能的页面、组件,确保useTranslations、useI18n这类钩子的导入路径是正确的。比如可以用@/app/i18n这种别名路径(基于上面的TS配置),避免相对路径混乱。

  • 清理缓存并重新构建
    删除.next文件夹,执行npm run build(或yarn build)后重启开发服务器,避免旧的路径缓存导致功能异常。


内容的提问来源于stack exchange,提问作者Baljka Gan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 19:49:55