next-i18next 版本: 10.1.0
今天 deploy 時,一直產生 500 error,一如往常是在本地端都是運作良好。
進入 vercel 的後台看一下到底什麼問題。
什麼! 找不到語言包的檔案。參照 next-i18next 的預設,預設是放在 ./public/locale 裡面。上網查了一下,vercel 的 deploy 路徑似乎不是從 repo 的資料夾開始。 解法也很簡單使用 node.js 預設的 path 來修正即可:
// next-i18next.config.js const path = require('path') module.exports = { i18n: { defaultLocale: 'en', locales: ['en', 'zh-TW'], localePath: path.resolve('./public/locales') }, };