当我构建我的socket.io ready的服务器时,HMR不起作用

时间:2019-03-07 21:16:36

标签: javascript node.js reactjs next.js webpack-hmr

当我构建我的socket.io ready的服务器时,NextJS内置HMR中断。

我正在尝试在我的nextjs自定义服务器中维护HMR。到目前为止,我已经使用webpackdevmiddleware处理了这种情况。如果可能的话,我会回到HMR,以保持优化的开发流程。

我试图将我的nextApp包装在我的socket.io功能中,如下所示:

const io= require("socket.io")(nextApp)

失败。

这是我的server.js配置:

// express module is a function that can be used to create applications
const app=require("express")();
// create a new server
const server=require("http").Server(app)
// wrap server in socket.io 
const io= require("socket.io")(server)
const next= require("next");

// nextjs server
const { createServer } = require('http')
const { parse } = require('url')
const dev=process.env.NODE_ENV !== "production";
const nextApp=next({dev});
const nextHandler= nextApp.getRequestHandler();
const PORT= process.env.PORT || 3400; 



nextApp.prepare().then(()=>{ 
    app.get('*', (req, res)=>{ 
        return nextHandler(req, res)
    })
    server.listen(PORT, ()=> console.log(`listen on ${PORT}...`))
})


// nextApp.prepare().then(() => {
//     createServer((req, res) => {
//         // Be sure to pass `true` as the second argument to `url.parse`.
//         // This tells it to parse the query portion of the URL.
//         const parsedUrl = parse(req.url, true)
//         //   const { pathname, query } = parsedUrl
//         nextHandler(req, res, parsedUrl);      
//     }).listen(PORT, err => {
//       if (err) throw err
//       console.log('> Ready on '+PORT)
//     })
// })

如何处理这种情况? 任何提示都会很棒, 谢谢

0 个答案:

没有答案