当前位置: 首页 > 知识库问答 >
问题:

如何检查Angular应用程序是否在生产或开发模式下运行

鞠宏恺
2023-03-14

这似乎很容易,但我找不到任何解决办法。

那么,如何检查我的应用程序是运行在生产模式还是开发模式?

共有2个答案

蔚桐
2023-03-14

根据https://Angular.io/guide/Deployment#enable-production-mode上的Angular部署指南:

为生产构建(或添加--environment=prod标志)启用生产模式查看CLI生成的main.ts以了解其工作原理。

main.ts具有以下功能:

import { environment } from './environments/environment';

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

因此,请检查environment.production以查看您是否处于生产状态。

您很可能不想调用isDevMode()。根据https://Angular.io/API/core/isdevmode的Angular API文档:

调用一次后,该值被锁定,不会再变了...默认情况下,这是真的,除非用户在调用此之前调用enableProdMode。

我发现从ng build--prod构建调用isdevmode()总是返回true,并且总是锁定您在dev模式下运行。相反,请检查environment.production以查看您是否处于生产状态。那么你将停留在生产模式

何修能
2023-03-14

您可以使用此函数isDevMode

import { isDevMode } from '@angular/core';

...
export class AppComponent { 
  constructor() {
    console.log(isDevMode());
  }
}

注意:使用此功能时要小心

if(isDevMode()) {
  enableProdMode();
}

你会得到

错误:平台设置后无法启用prod模式

  • https://github.com/angular/angular/blob/2.0.0/modules/%40angular/core/src/application_ref.ts#l58

环境变量

import { environment } from 'src/environments/environment';

if (environment.production) {
  //
}

由webpack process.env.node_env变量注入

declare let process: any;
const env = process.env.NODE_ENV;

if (env  === 'production') {
  //
}
 类似资料:
  • 问题内容: 我是一名Android开发人员,我想在我的应用程序中编写一条语句。在此语句中,我要检查默认浏览器(Android OS中 问题答案: 添加下面的Helper类: 现在,你可以从以下代码中检查所需的应用程序是否正在运行:

  • 我已经使用Quarkus开发模式()启动了我的应用程序,我希望能够调试它。 怎么能那么做?

  • 我读过Azure中的文档(https://docs.microsoft.com/en-us/Azure/Azure-monitor/app/api-custom-events-metrics#debug),但看不出如何为应用程序洞察启用开发人员模式。 如何在Azure Application Insights for Node.js中启用开发人员模式?

  • 是否有可能在运行时检测React的当前版本是开发还是生产?我想做这样的事情:

  • 问题内容: 我有一个Node.js脚本所需的脚本,我想保持JavaScript引擎独立。 例如,我只想在Node.js下运行。如何执行此测试? 发布此问题时,我不知道Node.js模块功能是否基于CommonJS。 对于我给出的具体示例,一个更准确的问题是: 脚本如何判断是否已将其作为CommonJS模块使用? 问题答案: 通过寻求CommonJS支持 ,这是Underscore.js库的实现方式

  • 我们以编程方式安装了应用程序。 如果应用程序已安装在设备中,则应用程序将自动打开。 指引我。我完全不知道。谢谢。