如何在另一个库更新后自动重启 Next.js 应用程序?
How to automatically restart Next.js app after an update in another library?
我有一个包含两个应用程序的 monorepo:
- 网络应用程序(Next.js)
- UI 库(Tailwind,它使用 Microbundle)
我设法让网络应用程序看到我对 UI 库所做的更改的唯一方法是:
- 进行更改
- 重建 UI 库(在本例中,我使用的是
microbundle watch
)
- 手动重启 Next.js 服务器
我的问题是:如何在每次重新创建 ui/dist
中的文件时自动重新启动 Next.js 服务器(因为每次进行更改时都会重建它们)?
您可以使用 nodemon
来监视任何文件并重新启动节点应用程序,在本例中为 Next.js 应用程序,当它们被修改时。
首先,在 Next.js 项目文件夹中创建一个包含以下内容的 nodemon.json
文件,相应地替换 ui/dist
文件夹的路径。
{
"ignore": ["node_modules", ".next"],
"watch": ["path-to/ui/dist/**/*"],
"ext": "js json",
"exec": "next dev"
}
然后,您必须将 dev
脚本替换为 运行 nodemon
。
"scripts": {
"dev": "nodemon",
...
}
我有一个包含两个应用程序的 monorepo:
- 网络应用程序(Next.js)
- UI 库(Tailwind,它使用 Microbundle)
我设法让网络应用程序看到我对 UI 库所做的更改的唯一方法是:
- 进行更改
- 重建 UI 库(在本例中,我使用的是
microbundle watch
) - 手动重启 Next.js 服务器
我的问题是:如何在每次重新创建 ui/dist
中的文件时自动重新启动 Next.js 服务器(因为每次进行更改时都会重建它们)?
您可以使用 nodemon
来监视任何文件并重新启动节点应用程序,在本例中为 Next.js 应用程序,当它们被修改时。
首先,在 Next.js 项目文件夹中创建一个包含以下内容的 nodemon.json
文件,相应地替换 ui/dist
文件夹的路径。
{
"ignore": ["node_modules", ".next"],
"watch": ["path-to/ui/dist/**/*"],
"ext": "js json",
"exec": "next dev"
}
然后,您必须将 dev
脚本替换为 运行 nodemon
。
"scripts": {
"dev": "nodemon",
...
}