2017-06-28 66 views
1

我想要根据我在生产服务器上运行应用程序还是在localhost进行开发,Angular 4使用的一些变量有所不同。我怎样才能做到这一点?对于node.js,我使用环境变量,但我不确定是否可以为Angular Web应用程序使用类似的环境变量。将Angular设置为生产而不明确设置它然后部署的最佳方法是什么?如何检查Angular是否在生产服务器上运行vs localhost

+0

这取决于你如何建设和部署它。 Angular CLI有构建时可以选择的环境文件。我们还使用服务器端包含来添加内容。如果您未提供静态文件,则可能有其他选项。 – jonrsharpe

+0

您也可以检查位置主机名。如果它是您的生产主机,那么您正在生产。 https://developer.mozilla.org/en-US/docs/Web/API/Location –

+0

例如,请参阅https://github.com/AngularClass/angular2-webpack-starter。 – estus

回答

0

在由Angular-Cli创建的标准项目中,有一个名为'environment'的类。你会看到,你可以在不同版本的类添加不同的值(一个是“生产”),当您运行

NG构建的CLI将使用正确的 - - 督促

0

如果你叫enableProdMode()方法,例如在你的main.ts文件中,你可以从@angular/core中导入isDevMode来检查角度app是否在prod mod上运行。

例如

import { Component, isDevMode} from '@angular/core'; 

@Component({...}) 
export class HomePageComponent { 
    constructor() { 
    if(isDevMode()){ 
     console.log("created new HomePageComponent"); 
    } 
    } 
} 

那查询的应用程序模式的一种方式。

但是与环境值更接近的东西是由angular-cli生成的环境文件。使用这些文件,您可以配置取决于您启动实时服务器/构建源的模式而设置的值。你可以找到更多的信息在the following link

相关问题