सवाल कैसे जांचें कि उत्पादन या विकास मोड में कोणीय अनुप्रयोग चल रहा है या नहीं


यह एक आसान लगता है, लेकिन मुझे कोई समाधान नहीं मिला।

तो, मैं कैसे जांचूं कि मेरा ऐप उत्पादन मोड या देव मोड में चल रहा है या नहीं?


38
2017-09-16 15:40


मूल




जवाब:


आप इस फ़ंक्शन को आजमा सकते हैं isDevMode

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

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

एक नोट: इस समारोह के साथ सावधान रहें

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

तुम्हे मिल जाएगा

त्रुटि: प्लेटफॉर्म सेटअप के बाद प्रोड मोड सक्षम नहीं कर सकता


73
2017-09-16 15:45



मुझे आपके द्वारा उल्लिखित एक ही त्रुटि मिल रही है। "मंच सेटअप के बाद प्रोड मोड सक्षम नहीं कर सकता"। क्या आप इसे हल करने में मेरी मदद कर सकते हैं? @yurzui - Gowtham
@ गौथम आपको कॉल करने से पहले इसे सक्षम करना होगा platformBrowserDynamic().bootstrapModule(AppModule); - yurzui
यह वही है कि मैं इसे कैसे बुला रहा हूं। फिर भी जब भी मैं उत्पादन मोड @ yurzui में ऐप चलाने का प्रयास करता हूं तो मुझे यह त्रुटि मिल रही है। इसे हल करने में कोई भी मदद की सराहना की जाएगी। धन्यवाद - Gowtham
@Gowtham क्या आपके पास पुन: उत्पन्न करने के लिए कोई उदाहरण है? - yurzui
यह '@ angular / platform-browser-dynamic' से मेरा "main.ts" आयात {platformBrowserDynamic} है; 'आयनिक-मूल' से {स्प्लैशस्क्रीन} आयात करें; '.appapp मॉड्यूल' से आयात करें {AppModule}; 'angular2 / core' से {enableProdMode} आयात करें; enableProdMode (); । PlatformBrowserDynamic () bootstrapModule (AppModule); चैट रूम में इसे हल करना आपके लिए संभव है? क्या आप यही चाहते थे? @yurzui - Gowtham


यह आप जो पूछ रहे हैं उस पर निर्भर करता है ...

अगर आप जानना चाहते हैं mode कोणीय के रूप में, @yurzui ने कहा, आपको कॉल करने की जरूरत है { isDevMode } from @angular/core लेकिन यह वापस आ सकता है false केवल अगर आप कॉल करते हैं enableProdMode इससे पहले।

अगर आप जानना चाहते हैं पर्यावरण का निर्माण, दूसरे शब्दों में, यदि आपका ऐप छोटा हो रहा है या नहीं, तो आपको अपने बिल्ड सिस्टम में बिल्ड वैरिएबल सेट करना होगा ... का उपयोग करना Webpackउदाहरण के लिए, आपको एक नज़र रखना चाहिए definePlugin

https://webpack.github.io/docs/list-of-plugins.html#defineplugin

new webpack.DefinePlugin({
  ENV_PRODUCTION: !!process.env.NODE_ENV
});

2
2017-09-16 15:51



मैं वास्तव में दोनों की तलाश में था। मैं वेबपैक (कोणीय-क्ली के माध्यम से) का उपयोग कर रहा हूं, मैं कोड की अपनी लाइन कहां जोड़ूं? मैं अपनी टाइपस्क्रिप्ट फ़ाइलों में उस चर के लिए कैसे पहुंच सकता हूं? अगर आप इसके साथ अपना जवाब अपडेट कर सकते हैं तो मैं बहुत अच्छा होगा - maxbellec
इस से निर्देशित ngcli.github.io/#getting-started-project-structure आपको webpack.config.js को संपादित करना चाहिए, फिर मेरे उत्तर में दिए गए लिंक का पालन करें ... - Hitmands


import { platformBrowserDynamic } from '@angular/platform-browser-dynamic' import { enableProdMode } from '@angular/core'; import { AppModule } from './app.module'

platformBrowserDynamic().bootstrapModule(AppModule); enableProdMode();

यह मेरा कोड था, इसलिए मुझे एक ही त्रुटि मिली। मैंने बस लाइन 3 और 4 का आदान-प्रदान किया। फिर समस्या है स्थिर। तो बूटस्ट्रैपिंग मॉड्यूल से पहले हमें प्रोप्रोड मोड सक्षम करना चाहिए।

सही तरीके से इस तरह रखा जा सकता है,

enableProdMode() platformBrowserDynamic().bootstrapModule(AppModule);


1
2017-12-03 12:54





पर कोणीय परिनियोजन गाइड प्रति https://angular.io/guide/deployment#enable-production-mode:

उत्पादन के लिए भवन (या - पर्यावरण संरक्षण = प्रोड झंडा)   सक्षम बनाता है उत्पादन मोड सीएलआई-जेनरेट देखें main.ts कैसे देखने के लिए   यह काम।

main.ts निम्नलिखित है:

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

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

तो जांचें environment.production यह देखने के लिए कि क्या आप उत्पादन में हैं।

सबसे अधिक संभावना है कि आप कॉल नहीं करना चाहते हैं isDevMode()। पर कोणीय एपीआई दस्तावेज के अनुसार https://angular.io/api/core/isDevMode:

एक बार बुलाए जाने के बाद, मान लॉक हो गया है और अब और नहीं बदलेगा ...   डिफ़ॉल्ट रूप से, यह सच है, जब तक कोई उपयोगकर्ता इसे कॉल करने से पहले सक्षमप्रोडोड को कॉल नहीं करता है।

मुझे वह कॉलिंग मिली है isDevMode() एक से ng build --prod निर्माण हमेशा सत्य देता है और हमेशा आपको देव मोड में चलने में ताला लगा देता है। इसके बजाय, जांचें environment.production यह देखने के लिए कि क्या आप उत्पादन में हैं। फिर आप उत्पादन मोड में रहेंगे।


0
2018-06-29 02:55