以角度2启用生产模式

时间:2017-04-24 19:06:54

标签: angular production-environment

我一直在使用Angular 2和Firebase创建Web应用程序, 我想启用生产模式。

main.ts

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

environment.ts

export const environment = {
  production: true
};

environment.prod.ts

export const environment = {
  production: true
};

然后我尝试了build -prod;服务但仍无效。

提前致谢。

4 个答案:

答案 0 :(得分:5)

ng build --prod将在/dist文件夹中创建构建工件 - 您必须将这些文件放在不同的Web服务器上(即之后您不会使用ng服务)< / em>的。

如果您只想使用ng serve使用生产模式运行应用, 然后使用:

ng serve --prod

修改

我似乎没有做好解释这个问题的工作。您的要求是&#34;启用生产模式&#34;。根据您的尝试,您有两种方法可以做到这一点。

如果您想使用angular-cli开发服务器在生产模式下运行您的应用程序,作为测试生产模式是否正常工作的方法,请使用:

ng serve --prod

但是,如果您准备将应用程序部署到生产Web服务器,那么这是一个两步过程:

  1. 使用以下内容生成应用的生产就绪版本:ng build --prod

  2. /dist文件夹的输出复制到您的生产网络服务器上

  3. 请注意,我不同时使用ng buildng serve,具体取决于我想要完成的任务。

答案 1 :(得分:0)

我在angular-cli 1.0.0-beta.28.3中观察到了这一点。 dist消失ng-serve。如果您想继续构建,请尝试ng build --output-path=last-build/并查看this issue

但重点是,在创建ng serve --prod后,您不需要build。正如@snorkpete所说,请在创建构建到Web服务器后复制dist文件夹。您的Web服务器将负责运行该应用程序。 Remeber, you will have to create a virtual host for this。但是,如果您只是想在本地计算机上运行它并想要实时webpack,只需ng serve --prod,实时webpack与您拥有的dist无关

答案 2 :(得分:0)

ng服务--prod不适用于我。

这工作顺便说一句:)

ng serve --configuration=production

它将创建一个测试生产服务器,其工作原理与在已部署的生产服务器上的工作原理相同。我使用environment.js进行了此测试(所有其他解决方案均不适用于我)

您可以关注this(成为Angular环保主义者)文章,以了解有关Angular环境的更多信息

答案 3 :(得分:-1)

用于将您的angular2应用启用为生产模式:

打开您的角度应用程序文件夹,然后打开main.ts,然后在main.ts

import {environment} './environment/environment'

必须在编写的最后一个环境中添加.prod:

import {environment} './environment/environment.prod'