首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Angular 6中是否可以在开发模式下添加服务重定向

在Angular 6中是否可以在开发模式下添加服务重定向
EN

Stack Overflow用户
提问于 2020-04-15 18:32:44
回答 2查看 40关注 0票数 0

我正在开发Angular 6中的一个应用程序。当该应用程序部署时,它会与一个在线数据库交换数据。然而,当我在应用程序上工作时,我希望它能与本地数据库交换数据。我有一个单一的服务设置来完成所有的通信,所以当我在应用程序上工作时,我可以简单地更改基本URL,但我想知道是否有一种方法可以在开发过程中重定向该服务,然后让它像生产环境中的正常情况一样转到数据库。

我知道我可以添加一个proxy.conf.json文件,我已经在这样做了,以便访问一个单独的在线应用程序接口,所以我不知道它是否像向该json文件添加另一个元素一样简单。

我没有发布任何示例代码,因为这是一个关于angular中的方法论与特定代码行问题的更一般的问题,但我很乐意发布人们希望看到的任何澄清。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-15 19:18:14

你可以做一件事,

您可以在environment.tsenvironment.prod.ts中配置url,如下所示

代码语言:javascript
复制
environment = {
...
url: 'something.com/api',
...
}

并像这样使用它

代码语言:javascript
复制
import { environment } from 'environment/environment';

const url = environment.url;

这将为正常构建提供不同的url (开发环境)。和prod build (部署环境)

另外,不用担心在import语句中只使用environmet.ts,因为在创建prod build时,environment.ts会从environment.prod.ts获取内容。因此,您将使用来自environment.prod.ts的url

票数 1
EN

Stack Overflow用户

发布于 2020-04-15 18:38:12

在Angular中,你可以访问一个函数isDevMode(),它可以确定应用程序当前是否处于开发模式。

在此基础上,您应该能够根据需要调整您的基本url。

代码语言:javascript
复制
 import { isDevMode } from '@angular/core';
  private baseUrl: string = '';
    const devUrl: string = '...';
    const prodUrl: string = '...';

    if (isDevMode()) {
          this.baseUrl = devUrl
        }
        else {
          this.baseUrl = prodUrl
          };
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61226601

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档