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
,但实时重新加载会中断。
我一直在使用普通的 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
,但实时重新加载会中断。