当我使用 ng build 时,proxy.conf.json 在 Angular 6 中不起作用

Posted

技术标签:

【中文标题】当我使用 ng build 时,proxy.conf.json 在 Angular 6 中不起作用【英文标题】:proxy.conf.json is not working in angular 6 when i use ng build 【发布时间】:2019-03-01 01:57:07 【问题描述】:

我正在尝试使用代理创建一个项目以连接到后端,但是当使用 ng build 生成项目时,代理配置不像使用 ng serve 那样工作。 要生成使用以下命令:

ng build --prod --base-href = / myproyect /

接下来我传递我拥有的配置文件: proxy.conf.json:


    "/api/*": 
      "target": "http://localhost:8080/cystock/",
      "secure": false,
      "pathRewrite": "^/api" : "",
      "changeOrigin": true,
      "logLevel": "debug"
    
  

global.ts:

export const GLOBAL = 
  production: true,
  url: 'api'//<-- 'API/' prefix needed for proxy configuration 
;

注意:这个想法是能够消费localhost服务,这是使用JAVA开发的,使用Spring作为框架

【问题讨论】:

proxy 配置旨在通过ng serve 运行开发服务器时代理调用。运行 ng build 后,您负责 Web 服务器及其配置 谢谢,问题是我不知道如何搜索运行配置,所以它可以工作 【参考方案1】:

正如@vikas 所说,代理配置严格用于开发。它可以让您在开发应用程序时轻松“模拟”您的端点,而无需多个配置文件。

proxy-config 的想法是您将生产 URL 代理到开发服务器(远程或本地),当您在没有代理的情况下构建代码时,它指向您的生产服务器。

要专门解决您的问题,只需将 /api 更改为您的生产端点,并将其映射到开发服务器。

【讨论】:

以上是关于当我使用 ng build 时,proxy.conf.json 在 Angular 6 中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

ng build —prod 失败但能够运行

ng serve 和 ng build 的 cli config 中的不同资产 [Angular 5]

ng build 抛出“错误无法读取未定义的属性‘种类’”

ng build --prod not running

ng build :无法加载工作区配置文件

ng build throws 无法读取空异常的属性“startTag”