2017-06-28 105 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

相關問題