#javascript #next.js #monorepo #microbundle
Вопрос:
У меня есть монорепо с двумя приложениями:
- Веб-приложение (Next.js)
- Библиотека пользовательского интерфейса (Tailwind, которая использует Microbundle)
Единственный способ, которым мне удалось заставить веб-приложение видеть изменения, которые я вношу в библиотеку пользовательского интерфейса, — это:
- Внесение изменений
- Перестройте библиотеку пользовательского интерфейса (в данном случае я использую
microbundle watch
) - Вручную перезагрузите Next.js сервер
Мой вопрос: как я могу автоматически перезапустить Next.js сервер каждый раз, когда файлы внутри ui/dist
воссоздаются (потому что они перестраиваются каждый раз, когда вносятся изменения)?
Комментарии:
1. Не совсем уверен, но вы можете настроить конфигурацию веб-пакета nextjs.org/docs/api-reference/next.config.js/… ?
Ответ №1:
Вы можете использовать nodemon
для просмотра любых файлов и перезапуска приложения узла, Next.js приложение в этом случае, когда они изменены.
Сначала создайте nodemon.json
файл в Next.js папка проекта со следующим содержимым, соответствующим образом заменив путь к вашей ui/dist
папке.
{
"ignore": ["node_modules", ".next"],
"watch": ["path-to/ui/dist/**/*"],
"ext": "js json",
"exec": "next dev"
}
Затем вам придется заменить свой dev
сценарий, чтобы запустить nodemon
его вместо этого.
"scripts": {
"dev": "nodemon",
...
}
Комментарии:
1. Также это можно легко использовать,
concurrently
если операция хочет выполнить обеmicrobundle watch
иnodemon
в одной команде. (dev
Затем в базовый пакет.json монорепо необходимо добавить скрипт для одновременного использования.)