请问怎么使用webpack,devServer配置项代理本地域名?

sai2333
  • 45

题目描述

想实现这样的功能:devServer监听整个项目,有改动时自动刷新浏览器。不同的是,该项目已经在本地已经有服务器了。

题目来源及自己的思路

以前用gulp时,使用的是browserSync,代码大概是这样的

gulp.task('server', ()=> {
    browserSync.init({
        proxy: proxyHost,//本地代理
        port: port //请对不同的项目设置不同的端口
    });
});

现在尝试使用webpack

devServer: {
        port: 3024,
        hot: true,
        open: true,
        proxy: {
          '*': {
            target: 'web-test.qs.com',
            bypass: function (req, res, proxyOptions) {
              if (req.headers.accept.indexOf('html') !== -1) {
                console.log('Skipping proxy for browser request.');
                console.log(req.originalUrl);
                return req.originalUrl;
              }
            },
          },
        },
    }

你期待的结果是什么?实际看到的错误信息又是什么?

web-test.qs.com是我本地项目的域名,如果我直接拿该域名去访问,会进入我预期的页面。当我用webpack编译时,去进入了这样的页面
image.png
image.png
不太懂nginx,目前的web-test.qs.com是由nginx解析的,它会去找该项目的www/index.php。我期望它是这样的。麻烦各位大佬帮忙看下有什么解决方案,谢谢各位。

回复
阅读 503
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏