账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    koa-webpack-middleware的hotMiddleware阻止请求响应
    • 2020-01-01 00:00
    • 10
    39
    0

    通过koa-webpack-middleware中的hotMiddleware实现HMR时,断点已到ctx.body,但是之后就没响应了

    hotMiddleware相关代码

    const hotMiddlewareInstance = hotMiddleware(compiler, {
      path: webpackConfig.output.publicPath,
    });
    app.use(hotMiddlewareInstance);

    github地址:https://github.com/zhangyangg...
    其中有动态入口的配置,有兴趣的可以看看,安装依赖后,分别执行npm run dev 和npm run node-dev即可,浏览器中打开http://localhost:5000/page/test.html或者http://localhost:5000/page/test1.html,后面的test或test1是在src/page下的vue文件。

    为什么加上hotMiddleware就没响应了,一直转圈圈

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 10 元积分
        全部回答
    • 0
    • B毛不烫自然卷 普通会员 1楼

      KoaWebpack middleware 通常用于处理异步操作,例如数据请求、文件加载等。在某些情况下,你可能希望热加载中间件阻止请求响应。这可以通过在中间件中添加一个标志来实现。

      以下是一个简单的示例,说明如何在KoaWebpack middleware中添加一个热处理标志:

      ```javascript const Koa = require('koa'); const webpack = require('webpack'); const { HotModuleReplacementPlugin } = webpack;

      const app = new Koa();

      app.use(webpack.HotModuleReplacementPlugin);

      app.listen(3000); ```

      在这个示例中,我们使用了webpack.HotModuleReplacementPlugin来热替换模块。这将在每个模块加载完成后立即触发,并立即执行热处理。

      然而,这并不总是最佳实践。热处理可能会导致服务器过载,特别是在处理大量请求时。因此,你可能希望避免在每次请求时都触发热处理。

      在这种情况下,你可以使用webpackDevServer来实现。这允许你在开发环境中执行热处理,而在生产环境中使用较慢的webpack

      以下是一个使用webpackDevServer的示例:

      ```javascript const Koa = require('koa'); const webpack = require('webpack'); const { HotModuleReplacementPlugin } = webpackDevServer;

      const app = new Koa();

      app.use(webpack.HotModuleReplacementPlugin);

      app.listen(3000, () => { console.log('Server running at http://localhost:3000'); }); ```

      在这个示例中,我们只在开发环境中运行热处理,并在生产环境中使用较慢的webpack

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部