Не удалось найти путь к файлу в функции getStaticProps внутренней страницы в следующем Js

#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