Как извлечь общие компоненты из Next. js в модуль npm? - PullRequest
0 голосов
/ 03 августа 2020

У меня есть приложение Next. js, в котором есть не только страницы, но и некоторые компоненты. Эти компоненты написаны на TypeScript (так что мы, по сути, говорим здесь .tsx), и они используют CSS Модули , используя шаблон Next. js *.module.css - или, чтобы быть точнее, они используют CSS Модули в сочетании с поддержкой Next. js SASS, поэтому мы говорим здесь *.module.sass. Пока все работает нормально.

Теперь я хотел бы создать второе приложение Next. js, и мне нужны некоторые компоненты в обоих приложениях. Конечно, я мог бы их скопировать / вставить, но это плохая идея по понятным причинам. Что я хотел бы сделать, так это извлечь общие компоненты в собственный модуль npm и использовать его в обоих приложениях. Теперь это сложная часть.

Я не хочу предварительно компилировать общий код, чтобы позволить соответствующему приложению Next. js выполнить компиляцию для кода приложения и Код библиотеки пользовательского интерфейса, но я не знаю, как sh это сделать. Конечно, легко настроить модуль npm, который содержит только простые файлы *.tsx и *.module.sass, но как мне сделать так, чтобы последнее приложение Next. js тоже скомпилировало их?

AFAICS Далее. js компилирует только те компоненты и стили, которые содержатся в самом приложении, а не те, которые определены в модулях, установленных через npm. Есть ли способ включить это?

PS: Я знаю о модуле next-transpile-modules , но я бы предпочел несколько более «официальный» подход, если есть ...

...