javascript - webpack-dev-server 不会在代码更改时重新渲染页面(从初始页面导航时)

标签 javascript vue.js webpack webpack-dev-server

我在 webpack 5/Vuejs 3 应用程序中使用 webpack-dev-server 来利用在应用程序开发期间将代码更改保存在编辑器中后立即显示在浏览器中的功能(对该功能的详细说明我感兴趣,但我认为它在“热”或“HMR”下交易)。
好消息是这原则上有效。我可以在我的编辑器中更新一个 .vue 文件,保存它,查看 webpack-dev-server 重新编译,查看 JS 控制台日志,表明它检测到更改并且更改(例如文本更改)显示在浏览器页面中.
但是,当在初始(硬)页面加载后导航到另一个路由(URL)时,初始页面 URL 与当前 URL 不同,代码更改不会反射(reflect)在浏览器页面中。执行所有其他步骤,例如编译、客户端上的更改检测、重新加载更改、日志,但它只是不更新​​浏览器页面。但是,当您导航到其他地方并返回时,它会更新页面。
这个问题是不是听起来很熟悉?我想即使在单页应用程序中导航到另一个路由 (URL) 时,实时更新也能正常工作(如果我的期望错误,请更正)。
我的相关部分webpack.conf.js (没有什么特别的恕我直言):

  devServer: {
    historyApiFallback: {
      rewrites: [{
        from: /.*/,
        to: path.posix.join(config.dev.assetsPublicPath, 'index.html')
      }]
    },
    hot: true,
    host: HOST || config.dev.host,
    port: PORT || config.dev.port,
    open: config.dev.autoOpenBrowser,
    proxy: config.dev.proxyTable
  }
更新
有趣的是,<style> 的更新即使初始页面加载 URL 已更改,部分也会立即反射(reflect)。

最佳答案

只需写historyApiFallback: true .它应该工作。

   devServer: {
      historyApiFallback: true,
      port: PORT || config.dev.port,
      hot: true,
      open: config.dev.autoOpenBrowser,
      proxy: config.dev.proxyTable
    },

关于javascript - webpack-dev-server 不会在代码更改时重新渲染页面(从初始页面导航时),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69262506/

相关文章:

javascript - Webpack-hot-middleware 与 Koa 2.0

javascript - PHPSESSID从B域到A域在Chrome和Firefox上使用,而不是在Safari和IE上使用

javascript - 在元素样式上设置 .cssText 时过渡不起作用?

javascript - 名称 =""和 :name ="" 有什么区别

javascript - 如何从私有(private)函数访问组件范围?

vue.js - Vue 观察者在创建兄弟属性时触发

css - 即使提供了模板路径,也不会清除 tailwindcss

reactjs - 如何将 React Webpack Web 应用部署到 Azure 应用服务?

javascript - 使用带数组的循环命名变量

javascript - 在 Chrome 应用中使用 Chrome 扩展程序