Пакеты, упакованные с помощью webpack style-loader, не совместимы с SSR, поэтому их нельзя импортировать в Next.js - PullRequest
0 голосов
/ 05 сентября 2018

Итак, у меня есть настройка монорепо, например ...

apps/

  app1

  app2

  app3

packages/

  components/

    component1

    component2

Там, где все приложения функционируют в следующих приложениях next.js, а пакет компонентов публикуется в частном реестре npm и связывается с веб-пакетом.

У меня проблема в том, что я могу импортировать только пакет компонентов в следующие приложения в componentDidMount, то есть на стороне клиента. Попытка импортировать компоненты на стороне сервера приводит к ошибке «окно не определено», которая возникает из загрузчика веб-пакетов style-loader.

Таким образом, я могу успешно импортировать пакет, когда удаляю импорт sass и загрузчик стилей, но, очевидно, я не могу включить любой sass в компоненты, и это проблема.

Кто-нибудь знает, как я могу связать пакет с sass и затем успешно импортировать его на стороне сервера в следующее приложение?

1 Ответ

0 голосов
/ 05 сентября 2018

Я решил это в конце концов ...

Мне пришлось собрать пакет компонентов, используя плагин extract css chunks, чтобы отделить css от js, тем самым устраняя необходимость в загрузчике стилей и оставляя мне main.css (в дополнение к index.js). ) в узле модулей.

Затем я мог бы без проблем импортировать компоненты на сервер, и мне просто нужно было включить файл main.css из package_name / dist / как часть static / style.css моего приложения, чтобы дать им их стили.

...