Ошибка импорта проекта React при наличии вложенной папки «node_modules»

#reactjs #npm

Вопрос:

Будучи довольно новичком в реагировании, я решил создать приложение fullstack, но я хотел разделить глобальный пакет.json на два разных файла

Поэтому я попытался немного почистить вещи и пошел от

   /public
    index.html
    manijest.json
  /src
    index.js
  package.json
  server.js
 

Для

   /client
    /public
      index.html
      manijest.json
    /src
      index.js
    package.json // Client dependencies
  package.json // Shared dependencies
  server.js
 

Запущено cd client amp;amp; npm install , приложение работает.

Но когда я удалю client/node_modules папку перед установкой, мое приложение React выйдет из строя, выдав следующую ошибку :

TypeError: Cannot assign to read only property 'exports' of object '#<Object>'

Попытался заменить client/node_modules на старый, удалил корень package.json и корневую node_modules папку, чтобы моя структура была следующей :

   /client
    /public
      ... same files
    /src
      ... same files
    package.json // All dependencies
  server.js
 

Также попытался заменить client/package.json его на исходный, содержащий все зависимости, как и раньше, но та же ошибка.

Что я упускаю ?

TL;DR; Создание node_modules из корневой папки и последующее перемещение ее во вложенную папку работает, но не при установке непосредственно из вложенной папки.

Комментарии:

1. где вы видели общие зависимости между сервером и клиентом? Если вы используете его для SSR, то у вас должна быть одна папка package.json и одна папка node_modules. в противном случае модули также должны быть разделены, если вам нужна одна общая папка с модулями для нескольких пакетов, вам нужно прочитать разделы о «lerna» и «yarn». пряжа более удобна для вложенных зависимостей, чем npm

2. Дело в том, что у меня был только один package.json и одна папка node_modules, но при их разделении я получаю эту ошибку