是因为Next.js使用了Webpack进行代码编译和热模块重载(HMR)的实现。而Nodemon是一个用于监视Node.js应用程序文件更改并自动重新启动应用程序的工具。由于Next.js的改动导致Webpack的热模块重载功能与Nodemon发生冲突,造成了Nodemon在重启时停滞的问题。
解决这个问题的一种方法是使用Next.js自带的开发服务器来替代Nodemon。Next.js的开发服务器具备自动重新编译和热模块重载的功能,可以在代码发生更改时自动刷新页面。这样就不再需要使用Nodemon来监视文件变化并重启应用程序。
另一种解决方法是使用nodemon-webpack-plugin插件。这个插件可以与Webpack配合使用,实现类似Nodemon的文件变化监视和自动重启功能。你可以在Webpack配置文件中将nodemon-webpack-plugin添加为插件,并配置它监视的文件路径和需要重启的命令。
除了以上解决方案,你还可以考虑使用PM2作为Node.js应用程序的进程管理工具。PM2具有监视文件变化并自动重启应用程序的功能,可以很好地解决这个问题。
总结: 由于Next.js的更改,Nodemon在重启时停滞是因为Next.js的热模块重载与Nodemon发生冲突。解决方法包括使用Next.js自带的开发服务器、nodemon-webpack-plugin插件或者使用PM2作为进程管理工具。具体选择取决于你的项目需求和偏好。
领取专属 10元无门槛券
手把手带您无忧上云