2017-04-24 58 views
3

我一直在使用Angular 2和Firebase創建Web應用程序, 我想啓用生產模式。啓用生產模式角2

main.ts

if (environment.production) { 
    enableProdMode(); 
} 

environment.ts

export const environment = { 
    production: true 
}; 

environment.prod.ts

export const environment = { 
    production: true 
}; 

然後我試圖納克構建-prod; ng服務,但仍然無法正常工作。

在此先感謝。

+0

你用角CLI? – yurzui

+0

那麼,你有什麼嘗試?所有你需要的是ng build --prod。 –

+0

我正在使用angular-cli,我試過ng build -prod; NG發球局,但沒有工作 – naruto

回答

5

ng build --prod將創建的文件夾/dist構建構件 - 你必須把不同的網絡服務器(即不使用後納克服務)這些文件。

如果你只是想使用ng serve,但使用的生產模式來運行你的應用程序, 然後使用:

ng serve --prod 

編輯

我似乎並沒有做解釋的一個好工作這個。您的要求是「啓用生產模式」。你有兩種方法可以做到這一點,這取決於你想要做什麼。

如果你想使用的角度,CLI開發服務器運行在生產模式下您的應用程序作爲測試的手段,看看生產模式正常工作,然後使用:

ng serve --prod 

但是,如果你準備好你的應用程序部署到生產Web服務器,那麼它是一個兩個步驟的過程:

  1. 使用生成您的應用程序的生產就緒版本:ng build --prod

  2. /dist文件夾的輸出複製到你的Web服務器產品

請注意,我不這樣做既 - 我請使用ng buildng serve,這取決於什麼,我試圖完成。

+0

/距離消失了服務--prod – naruto

+0

/DIST總是刪除,只要你'納克serve'。 – snorkpete

+0

我怎樣才能把文件夾/ DIST不同的Web服務器上,因爲當我運行NG構建--prod然後納克服務仍然--prod它不工作 – naruto

0

我已經在angular-cli 1.0.0-beta.28.3中觀察到了這一點。 distng-serve上消失。如果你想保持構建,請嘗試ng build --output-path=last-build/並看看this issue

但重點是您在創建build後無需執行ng serve --prod。正如@snorkpete所說的,請在創建構建版本後將dist文件夾複製到您的Web服務器。你的網絡服務器將負責運行應用程序。 Remeber, you will have to create a virtual host for this。但是,如果你只是想你的本地計算機上運行它,並希望現場webpack,只是做ng serve --prod,現場webpack無關與dist你。