webpack-dev-server在错误的端口上发出sockjs请求

问题描述

为了进行开发,我将在端口4000上启动Node应用程序,并在端口4001上启动Webpack Dev Server

process.env.NODE_DEBUG --> [undefined][false]
[INFO] Port '4000' is available for http server.
[INFO] Port '4001' is available for dev server statics.
Webpack: Starting ...

在我们的Node应用程序中,每当遇到404时,我们通常都会重试该错误。发生的问题是,我看到的是对错误端口发出了sockjs-node请求,当应用程序尝试重试无效的sockjs url时,这导致了一系列的404级联。我不知道为什么首先要使用端口4000而不是4001。

enter image description here

这是我的webpack开发服务器配置

config.entry.client.unshift(`webpack/hot/only-dev-server`);
config.output = {
    path: paths.appBuildPublic,publicPath: 'localhost:4001',pathinfo: true,libraryTarget: 'var',filename: 'static/js/bundle.js',chunkFilename: 'static/js/[name].chunk.js',devtoolmodulefilenameTemplate: info => path.resolve(info.resourcePath).replace(/\\/g,'/')
};
config.devServer = {
    disableHostCheck: true,clientLogLevel: 'info',compress: true,headers: {
        'Access-Control-Allow-Origin': '*'
    },overlay: true,port: devServerPort,https: {
        ...createCertificate()
    },quiet: false,watchOptions: {
        ignored: /node_modules/
    }
};
config.plugins = [
    ...(config.plugins || []),new ErrorOverlayPlugin(),new webpack.HotModuleReplacementPlugin({
    }),new webpack.DefinePlugin(dotenv.stringified)
];

在我的快速路由器中,我已经配置了以下

.use('/sockjs-node',(req: Request,res: Response) => {
    if (process.env.NODE_ENV === 'development') {
        res.status(200).send();
    }
})

但是,这实际上是解决问题的一种简单方法。有谁知道为什么向我的Node服务器而不是webpack开发服务器发出此sockjs请求?任何帮助将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)