我刚刚通过 Nginx 和 pm2 在生产中部署了我的第一个 Next.js 应用程序。一切看起来都很好,但应用程序在浏览器上经过一段时间间隔后经常重新加载。我看到它webpack-hmr也在我的production服务器上运行。(我认为在生产中没有必要)
我正在使用自定义server.js,并使用next buildthenNODE_ENV=production node server.js命令在生产中运行我的应用程序,并使用pm2.
我在下面添加了我的开发工具的网络选项卡的屏幕截图,该选项卡显示了在production. 如果HMR这是浏览器重新加载的可能原因,那么我应该如何在生产中禁用它?
另外,如果由于 HMR 而没有发生“频繁重新加载”,那么原因是什么?
大家在制作过程中是否也遇到过同样的问题呢?如果是这样,请分享您的知识和经验。谢谢。
编辑:我也在使用next-pwa并且我的控制台上不断显示警告 -
GenerateSW 已被多次调用,可能是由于在 --watch 模式下运行 webpack 所致。第一次调用后生成的预缓存清单可能不准确!请参阅https://github.com/GoogleChrome/workbox/issues/1790了解更多信息。
我正在为我的项目使用Material UI 自动完成功能。如官方文档所示,我的选择是,
let options = [
{ id: "507f191e810c19729de860ea", label: "London" },
{ id: "u07f1u1e810c19729de560ty", label: "Singapore" },
{ id: "lo7f19re510c19729de8r090", label: "Dhaka" },
]
Run Code Online (Sandbox Code Playgroud)
然后,我使用Autocomplete作为,
import React, { Component, Fragment, useState } from "react"
import TextField from '@material-ui/core/TextField';
import Autocomplete from '@material-ui/lab/Autocomplete';
import options from "/options"
function SelectLocation(props){
const [ input, setInput ] = useState("");
const getInput = (event,val) => {
setInput(val);
}
return (
<Autocomplete
value={input}
options={options}
renderOption={option => <Fragment>{option.label}</Fragment>}}
getOptionLabel={option …Run Code Online (Sandbox Code Playgroud)