加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angularjs – 带后端api的webpack-dev-server

发布时间:2020-12-17 10:16:51 所属栏目:安全 来源:网络整理
导读:我正在使用webpack-dev-server作为 angularjs应用程序,我从package.json中的任务开始,如下所示: "scripts": { "start-api": "node api/server.js","dev": "webpack-dev-server --env dev --history-api-fallback --inline --progress --port 5000","start":
我正在使用webpack-dev-server作为 angularjs应用程序,我从package.json中的任务开始,如下所示:
"scripts": {
    "start-api": "node api/server.js","dev": "webpack-dev-server --env dev --history-api-fallback --inline --progress --port 5000","start": "npm run dev"
  },

我有一个后端api服务器,它使用koa并在同一个端口上运行:

const koa = require('koa');

app.listen(5000);

module.exports.app;

当koa服务器启动时,它会拦截所有请求,我无法浏览角度浏览器应用程序.

我应该从koa服务还是有办法让两者一起工作?

是的,您可以将webpack-dev-server与您自己的后端API一起使用.有两种方法可以做到这一点:

首先,您可以将开发服务器配置为使用proxy.这是我使用的解决方案,它适用于我.我的配置看起来像这样:

proxy: {
  "/api/*": {
    target: "http://localhost:8080"
  }
}

此配置确保以“/ api”开头的所有请求都发送到后端API服务器(在本例中为localhost:8080),而不是dev-server. (可选)如果需要,可以使用函数绕过代理,如下所示:

proxy: {
  "/api/*": {
    target: "http://localhost:8080",bypass(req,res) {
      return (/* some condition */) ? '/index.html' : false;
    }
  }
}

但我从来不需要使用它,因为“/ api / *”键是我需要确保将每个请求发送到正确的服务器.

重要的是,您应该让两台服务器在不同的端口上运行.我通常使用8080作为后端,9090作为开发服务器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读