2017-04-24 39 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你。