#javascript #reactjs #next.js #react-intl
Вопрос:
Я работаю над многоязычной функцией в следующем приложении JS. Вот структура папок моего проекта.
На странице индекса, т. е. на домашней странице, я могу получить модуль локализации с помощью getStaticProps
:
export function getStaticProps({ locale }) { return { props: { messages: require(`../locales/${locale}.json`), }, }; }
Но когда я использую это в /settings/locations/index/js
нем, отображается следующая ошибка:
Я пробовал и с messages: require('@/locales/${locale}.json')
тем, и messages: require('../../locales/${locale}.json')
с другим способом.
Комментарии:
1. Ты пробовал
require(`../../../locales/${locale}.json`)
?
Ответ №1:
Я думаю, тебе стоит попробовать с-
return { props: { messages: require(`../../../locales/${locale}.json`), }, };
Комментарии:
1. почему он не работал с @/locales ? в то время как я включаю навигационную панель на одной странице с
import NavBar from '@/components/NavBar'
2. Потому что это файл JSON. Вы можете импортировать данные JSON следующим образом.
@/components/NavBar
является компонентом react, поэтому он работает.3. navbar-это компонент jsx, а языковой стандарт-файл json