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')
},
};
