如何关闭ViteJS的模块热加载功能?

ora*_*int 12 nuxt.js vite

我有一个服务器端渲染production模式 Vite 应用程序。我的问题是:网页通常会重新加载并且控制台将显示[vite] connecting.... 我将此追溯到 vite 代码库的热模块重新加载部分。但是,我不想hmr打开 for production,但无论我将以下两个设置设置为 ,它似乎仍然打开false

在我的vite.config.js文件中我有:

...
export default defineConfig({
  server: {
    hmr: false,
  },
Run Code Online (Sandbox Code Playgroud)

另外,在我的 NodeJSserver.js文件中,我有:

const vite = await createViteServer({
  server: { middlewareMode: 'ssr', hmr: false },
})

Run Code Online (Sandbox Code Playgroud)

如何关闭 Vite 的功能hmr

小智 3

将其添加到您的app.js文件中:

if (import.meta.hot)
import.meta.hot.accept(() => import.meta.hot.invalidate())
Run Code Online (Sandbox Code Playgroud)

并在您的vite.config.js文件中添加false'defineConfig'

server.hmr.overlay property
    defineConfig({          
        server: {

            /*here*/
            hmr: { overlay: false }

            }, ...
      })
Run Code Online (Sandbox Code Playgroud)

  • 重要的是,不仅要发布问题,还要包含代码或问题的作用以及您建议或提出问题的原因的描述。这有助于其他人理解问题的背景和目的,并使其对于可能正在阅读该问题的其他人更有用。@Deubledee。 (3认同)