Next.js : 修改文件后刷新页面,无需重新运行 'npm run'

Next.js : Refresh page after modifying a file, without rerunning 'npm run'

我一直在使用普通的 LAMP 堆栈和 javascript(和 jQuery)作为前端构建网站已有一段时间了。但我也想尝试在后端使用 javascript 。我才刚刚开始学习 next.js.

按照老方法,如果我修改了一个php文件,要查看效果我可以刷新网络浏览器。但我注意到使用 next.js 您无法立即看到变化。我必须停止 npm 脚本,重新运行 "npm run xxx" 命令,然后刷新浏览器。有点费时间。

有没有办法自动执行此过程?

在开发模式下,Next.js默认会热加载任何更改,您甚至不需要刷新浏览器。

但是如果您添加自定义服务器,它不会热重载更改。您可以使用 nodemon 监视并重新启动服务器:https://github.com/remy/nodemon

@Rudi 的回答是正确的,我还要补充一点,你要确保你最终 运行ning 的命令是 next,而不是 next start。不同之处在于 next 用于开发模式,而 next start 用于生产模式。在生产模式下,它不会监视您的文件是否有更改。

通常,您在 package.json 的脚本部分引用了这些命令:

{
  "scripts": {
    "dev": "next",
    "build": "next build",
    "start": "next start"
  }
}

然后您实际输入的命令和 运行 将是 npm run dev 用于本地开发或 npm run build; npm run start 用于生产模式。

如果这不适合您的使用,并且即使在开发模式下您也必须重新启动服务器,那么您的设置可能有问题。

导致这种情况的一个常见问题与意外导入组件和使用 lowercase/uppercase 命名约定的小拼写错误有关。

例如,您将名为 Navigation 的组件导入为 navigation

这仍然会导入 Navigation,但实时重新加载会中断。