Компоновка Material-UI зашифрована после производственной сборки

Я создал веб-сайт на основе node.js, material-ui и create-react-app.

Когда я делаю сборку для разработки с использованием yarn start, я получаю этот результат на локальном хосте:

Отображение на локальном хосте

Затем, после создания производственной сборки с использованием yarn build, я получаю следующее:

введите здесь описание изображения

Весь функционал работает кроме макета.

Есть идеи, в чем может быть причина?


person Dany Dhondt    schedule 26.05.2018    source источник
comment
Можете ли вы опубликовать свой код?   -  person Colin Ricardo    schedule 26.05.2018
comment
Как лучше всего это опубликовать?   -  person Dany Dhondt    schedule 26.05.2018
comment
Если вы сделаете пример здесь, я вас посмотрю.   -  person Colin Ricardo    schedule 26.05.2018
comment
Я работаю в нем сейчас. Существует одна зависимость, которая находится на GitHub. Я получаю эту ошибку: Не удалось получить зависимости, повторите попытку через пару секунд: Не удалось получить версию для @github.com/ahs-mediatheken/bo-module-taxonomie.git: ENOENT: нет такого файла или каталога, откройте '/var/task/ @https:/github.com/ahs-mediatheken/bo-module-taxonomie.git/package.json'   -  person Dany Dhondt    schedule 26.05.2018
comment
codesandbox.io/s/github/ahs-mediatheken/bo -main/tree/master   -  person Dany Dhondt    schedule 26.05.2018
comment
Я импортировал песочницу прямо из GitHub, но проблема со ссылкой на другой репозиторий осталась. попробую решить   -  person Dany Dhondt    schedule 26.05.2018
comment
Колин, у тебя есть идея, как исправить эту ошибку? Я сделал репозиторий публичным   -  person Dany Dhondt    schedule 26.05.2018
comment
как вы проверяли производственную сборку? вы его где-то развернули?   -  person Evgeny Timoshenko    schedule 26.05.2018


Ответы (1)


Похоже, что material-ui включается два раза в накопительный пакет, что приводит к поломке приложения. Если вы внимательно посмотрите на то, что встроено в med-react-component и bo-module-taxonomie, вы заметите, что накопительный пакет включает в себя material-ui в обеих сборках. Поскольку вы используете rollup-plugin-peer-deps-external, вы должны сделать material-ui одноранговой зависимостью как в med-react-component, так и в bo-module-taxonomie:

"peerDependencies": {
    "@material-ui/core": "^1.0.0",
    "@material-ui/icons": "^1.0.0",
    ...
person Evgeny Timoshenko    schedule 26.05.2018
comment
Спасибо Евгений! Это решило мою проблему! Я думал, что npm никогда ничего не устанавливал дважды, но ошибался. Вы заставили меня задуматься о разнице между зависимостями и одноранговыми зависимостями. Большой! - person Dany Dhondt; 27.05.2018
comment
На самом деле, речь идет не о npm, а о роллапе, вы импортируете то, что уже построено. - person Evgeny Timoshenko; 27.05.2018