我一直在使用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;服务但仍无效。
提前致谢。
答案 0 :(得分:5)
ng build --prod
将在/dist
文件夹中创建构建工件 - 您必须将这些文件放在不同的Web服务器上(即之后您不会使用ng服务)< / em>的。
如果您只想使用ng serve
使用生产模式运行应用,
然后使用:
ng serve --prod
修改强>
我似乎没有做好解释这个问题的工作。您的要求是&#34;启用生产模式&#34;。根据您的尝试,您有两种方法可以做到这一点。
如果您想使用angular-cli开发服务器在生产模式下运行您的应用程序,作为测试生产模式是否正常工作的方法,请使用:
ng serve --prod
但是,如果您准备将应用程序部署到生产Web服务器,那么这是一个两步过程:
使用以下内容生成应用的生产就绪版本:ng build --prod
将/dist
文件夹的输出复制到您的生产网络服务器上
请注意,我不同时使用ng build
或ng 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'