Cela semble facile, mais je ne pouvais pas trouver une solution.
Alors, comment puis-je vérifier si mon application est en cours d'exécution en mode de production ou dev mode?
Cela semble facile, mais je ne pouvais pas trouver une solution.
Alors, comment puis-je vérifier si mon application est en cours d'exécution en mode de production ou dev mode?
Vous pouvez essayer cette fonction isDevMode
import { isDevMode } from '@angular/core';
...
export class AppComponent {
constructor() {
console.log(isDevMode());
}
}
Une remarque: attention à cette fonction
if(isDevMode()) {
enableProdMode();
}
Vous obtiendrez
Erreur: Impossible d'activer le mode prod après la plate-forme d'installation
Par l'angle de guide de Déploiement à https://angular.io/guide/deployment#enable-production-mode:
Bâtiment de production (ou en ajoutant l'option --environnement=prod drapeau) permet mode de production Oeil à l'interface de ligne de commande générée
main.ts
pour voir comment les travaux de cette.
main.ts
sont les suivantes:
import { environment } from './environments/environment';
if (environment.production) {
enableProdMode();
}
Donc, vérifiez environment.production
pour voir si vous êtes dans la production.
Très probablement, vous ne voulez PAS appeler isDevMode()
. Par l'angle de la documentation de l'API à https://angular.io/api/core/isDevMode:
Après avoir appelé une seule fois, la valeur est verrouillé et ne change pas du tout... Par défaut, il est vrai, à moins qu'un utilisateur appelle enableProdMode avant l'appel de cette.
J'ai trouvé que l'appelant isDevMode()
d'un ng build --prod
construire renvoie toujours vrai et se bloque toujours vous lancer dans le dev mode. Au lieu de cela, vérifiez environment.production
pour voir si vous êtes dans la production. Ensuite, vous séjournerez dans le mode de production.
Si vous voulez connaître l' mode
de Anguleuses, comme @yurzui dit, vous devez appeler { isDevMode } from @angular/core
, mais il peut renvoyer false
que si vous appelez enableProdMode
avant elle.
Si vous voulez connaître l' environnement de compilation, en d'autres termes, si votre application est en cours d'exécution compacte ou non, vous devez définir un build variable dans votre système de construction... à l'Aide de Webpack
, par exemple, vous devriez jeter un oeil à definePlugin
.
https://webpack.github.io/docs/list-of-plugins.html#defineplugin
new webpack.DefinePlugin({
ENV_PRODUCTION: !!process.env.NODE_ENV
});
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'
import { enableProdMode } from '@angular/core';
import { AppModule } from './app.module'
platformBrowserDynamic().bootstrapModule(AppModule);
enableProdMode();
C'était mon code, donc j'ai eu le même message d'erreur. J'ai juste échangé ligne 3 et 4. Alors la question est fixe. Donc, avant d'amorçage module de nous devrait permettre --prod mode.
Le bon peut être mis dans cette voie,
enableProdMode()
platformBrowserDynamic().bootstrapModule(AppModule);
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.