#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, но при их разделении я получаю эту ошибку