কীভাবে উত্পাদন মোড সক্ষম করবেন?


182

আমি সম্পর্কিত প্রশ্নগুলি পড়ছিলাম এবং আমি এটি একটি পেয়েছি , তবে আমার প্রশ্নটি কীভাবে আমি উন্নয়ন থেকে উত্পাদন মোডে যেতে পারি। মোডগুলির মধ্যে কিছু পার্থক্য রয়েছে যা এখানে দেখানো হয়েছে

কনসোলে আমি দেখতে পাচ্ছি ....Call enableProdMode() to enable the production mode.তবে আমি নিশ্চিত না যে এই ধরণের পদ্ধতিটি আমার কল করা উচিত which

কেউ এই প্রশ্নের উত্তর দিতে পারেন?


আমি এটি ওয়েবপ্যাক 2+ অ্যাঙ্গুলার 2 এবং টাইপসক্রিপ্ট ব্যবহার করে পাগল হয়ে ওঠার কনফিগারেশনটি পেয়েছি, একটি সহজ সমাধান তৈরি করেছি: github.com/Sweetog/yet-another-angular2-boilerplate
ব্রায়ান ওগডেন

উত্তর:


211

আপনি ফাংশনটি আমদানি ও সম্পাদন করে এটি সক্ষম করুন (বুটস্ট্র্যাপ কল করার আগে):

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

enableProdMode();
bootstrap(....);

তবে এই ত্রুটিটি নির্দেশকটি হ'ল আপনার বাঁধার সাথে কিছু ভুল আছে, তাই আপনার কেবল এটি খারিজ করা উচিত নয়, তবে এটি কেন ঘটছে তা বোঝার চেষ্টা করুন।


আপনি টাইপ স্ক্রিপ্ট ব্যবহার না করে কিভাবে প্রোডমোড () সক্ষম করবেন? আমি যদি এই পদ্ধতিটি কেবল এনজি.প্ল্যাটফর্ম.ব্রোজার.বুটস্ট্র্যাপের আগে কল করি (...) আমি এই ত্রুটিটি পেয়েছি: সক্ষমপ্রডমোড সংজ্ঞায়িত করা হয়নি
ড্যানিয়েল ডুডাস

2
@ ড্যানিয়েলডুডাস আমি এস 5 ব্যবহার করি না, তবে চেষ্টা করুনng.core.enableProdMode()
সাসেক্সা

3
আমি বিশ্বাস করি "কৌণিক 2 / কোর" এখন "@ কৌণিক / কোর"। আমার উত্তর নীচে দেখুন।
অ্যাডাম্পাস্জ

আমি আয়নিক 2 ব্যবহার করছি। এই বুটস্ট্র্যাপটি কোন ফাইলে বলা হয়? আমি যখন দেখি একটি নমুনা অ্যাপ্লিকেশন উত্পন্ন ionic start test sidemenu --v2 --tsকরি app.tsতবে এই বুটস্ট্র্যাপ ফাংশনটি কোথায় বলা হয়?
গিউস

1
আমিও তাই করেছি তবে আমি "প্ল্যাটফর্ম সেটআপের পরে প্রোড মোড সক্ষম করতে পারি না" এর মতো একটি ব্যতিক্রম পাচ্ছি। কেউ কি আমাকে সমাধান করতে সাহায্য করতে পারে?
গওথাম

81

কৌণিক 2 অ্যাপ্লিকেশনটির জন্য উত্পাদন মোড সক্ষম করার সর্বোত্তম উপায় হ'ল কৌণিক-ক্লিপ ব্যবহার করা এবং অ্যাপ্লিকেশনটি তৈরি করা ng build --prod। এটি প্রোডাকশন প্রোফাইল সহ অ্যাপ্লিকেশনটি তৈরি করবে। কৌণিক-ক্লিপ ব্যবহার করে কোডটি সর্বদা পরিবর্তন না করে ব্যবহার করে ng serveবা বিকাশ করার ng buildসময় বিকাশ মোড ব্যবহার করতে সক্ষম হওয়ার সুবিধা রয়েছে ।


6
আমি অ্যাঙ্গুলার 6 ব্যবহার করছি এবং প্রোড মোডে তৈরি করতে এটি এনজি বিল্ড - প্রোড। এই পৃষ্ঠাটি দেখার জন্য যে কোনও নতুন আগতদের জন্য এটি এখানে রাখুন putting
ভার্বোজ

আমি মনে করি যে বিল্ড - প্রডটি ডেডমোড এবং সক্ষমপ্রোডমোডকে মাথায় রেখে বাস্তবায়ন করা হয়েছে। এই উত্তরটি উত্তর হিসাবে চিহ্নিত করা উচিত
বুবি

58

এটি আমার জন্য কাজ করেছে, কৌনিক 2 (2.0.0-rc.1) এর সর্বশেষ প্রকাশটি ব্যবহার করে:

main.ts

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

enableProdMode();
bootstrap(....);

এখানে তাদের ডক্স থেকে ফাংশন রেফারেন্স: https://angular.io/api/core/enableProdMode


1
নতুন লিঙ্ক: angular.io/docs/ts/latest/api/core/index/...
EMP

1
@ এমপি আমি অফিসিয়াল কৌণিক নথিভুক্তির জন্য আপনাকে অবাক করে দিয়েছি যেখানে আপনাকে এটি কল করার কথা enableProdModeবলেছে না।
দাই

54

যখন আমি কৌণিক-ক্লিপ ব্যবহার করে একটি নতুন প্রকল্প তৈরি করি। এনভায়রনমেন্ট.টস নামে একটি ফাইল অন্তর্ভুক্ত ছিল। এই ফাইলটির অভ্যন্তরে এমন একটি পরিবর্তনশীল।

export const environment = {
  production: true
};

তারপরে মেইন.এস্টগুলিতে আপনার এটি আছে।

import './polyfills.ts';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { enableProdMode } from '@angular/core';
import { environment } from './environments/environment';
import { AppModule } from './app/';

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

platformBrowserDynamic().bootstrapModule(AppModule);

আপনি এটি একটি কৌণিক-ক্লাইপ প্রকল্পে যুক্ত করতে পারেন, আমি ধরে নেব, কারণ সক্ষমProdMode () @ কৌনিক / মূল থেকে আমদানি করা হচ্ছে।


এই নন-প্রোড তৈরির জন্য কীভাবে কাজ করে? আমি মনে করি সে ক্ষেত্রে পরিবেশ.ts উপেক্ষা করা হয়, সুতরাং মডিউলটি আমদানির চেষ্টা করার সময় আপনি কোনও টিএসসি সংকলন ত্রুটি পান না?
llasarov

@llasarov এনভায়রনমেন্ট.টসটি কেবল একটি কনফিগারেশন ফাইলের মতো আচরণ করছে, যাতে আপনি উত্পাদন মোড চালু / বন্ধ করতে পারেন। মেইন.টিসগুলি কেবল সক্ষমProdMode কে সত্য বলে যদি কল করে, তাই এটি কোনও নির্দিষ্ট বিল্ড প্রক্রিয়া ছাড়াই করা যায়। আপনি এখানে লগিং নির্বাচন করতে পারেন, লগমোডটি ডিবাগ হয় কিনা তা যাচাই করে আপনার কাস্টম লগার পরিষেবাটি বিশদ স্ট্যাকট্র্যাস করে অন্য একটি মাত্র লাইনারে লগইন করছে
নিতিনসিংহ


10

কৌণিক 6.XX এ উত্পাদন মোড সক্ষম করতে কেবল পরিবেশ ফাইলে যান

এই পথ পছন্দ

তোমার রাস্তা: project>\src\environments\environment.ts

production: falseথেকে পরিবর্তন করুন :

export const environment = {
  production: false
};

প্রতি

export const environment = {
  production: true
};

এখানে চিত্র বর্ণনা লিখুন


8

বিকাশের সময় বেশিরভাগ টাইম প্রোড মোডের প্রয়োজন হয় না। সুতরাং আমাদের কাজের ভিত্তিটি কেবল তখনই সক্ষম করা হয় যখন এটি লোকাল হোস্ট হয় না

আপনার ব্রাউজারগুলিতে main.tsযেখানে আপনি আপনার মূল অ্যাপমোডুলটি সংজ্ঞায়িত করেছেন:

const isLocal: boolean = /localhost/.test(document.location.host);
!isLocal && enableProdMode();
platformBrowserDynamic().bootstrapModule(AppModule);

isLocalএছাড়াও মত অন্যান্য কাজের জন্য ব্যবহার করা যেতে পারে enableTracingজন্য RouterModuleদেব সময়ে ভাল ডিবাগিং করার জন্য স্ট্যাক ট্রেস।


6

যখন এনজি বিল্ড কমান্ড ব্যবহার করা হয় তখন এটি এনভায়রনমেন্ট.টিস ফাইলটি ওভাররাইট করে

ডিফল্টরূপে যখন এনজি বিল্ড কমান্ড ব্যবহৃত হয় তখন এটি পরিবেশ পরিবেশ নির্ধারণ করে

উত্পাদনের পরিবেশ ব্যবহার করার জন্য, ng build --env = প্রোড কমান্ডটি ব্যবহার করুন

এটি উত্পাদন মোড সক্ষম করে এবং স্বয়ংক্রিয়ভাবে পরিবেশ.ts ফাইল আপডেট করে


1
এটি কৌণিক সিএলআই 6 এ পরিবর্তিত হয়েছিল ng build --configuration=production(সিএলআই-উত্পন্ন কৌণিক.জসন ফাইল ব্যবহার করে ডিফল্ট হিসাবে)।
slasky

5

আপনি আপনার অ্যাপ্লিকেশনগুলিতে ব্যবহার করতে পারেন || main.ts ফাইল

import {enableProdMode} from '@angular/core';
enableProdMode();
bootstrap(....);

4

যারা টাইপস্ক্রিপ্ট ব্যবহার না করেও আপগ্রেড পাথ করছেন তাদের জন্য:

ng.core.enableProdMode()

আমার জন্য (জাভাস্ক্রিপ্টে) দেখে মনে হচ্ছে এটি:

var upgradeAdapter = new ng.upgrade.UpgradeAdapter();
ng.core.enableProdMode()
upgradeAdapter.bootstrap(document.body, ['fooApp']);

4

আপনার বীজ প্রকল্পের দ্বারা সরবরাহের জন্য আপনার কোনও পরিবেশের প্রয়োজন নেই such কেবল একটি কনফিগারেশন রয়েছে ts এবং এ জাতীয় সমস্ত এন্ট্রি যুক্ত করুন যার জন্য রানটাইম সিদ্ধান্তের প্রয়োজন (উদাহরণস্বরূপ: - লগিং কনফিগারেশন এবং ইউআরএল)। এটি যে কোনও ডিজাইনের কাঠামোয় ফিট করবে এবং ভবিষ্যতে সহায়তা করবে help

configuration.ts

export class Configuration {

   isInProductionMode : bool = true;

   // other configuration
   serviceUrl : string = "http://myserver/myservice.svc";
   logFileName : string = "...";
}

// এখন আপনার স্টার্টআপ কোডটি ব্যবহার করুন (বীজ প্রকল্পের নকশা অনুসারে মেইন.টস বা সমতুল্য)

import { Configuration } from './configuration';
import { enableProdMode } from '@angular/core';
....
if (Configuration.isInProductionMode)
    enableProdMode();

1
isInProductionModeসত্য / মিথ্যা হওয়ার সাথে আপনি কীভাবে প্রোড / দেবকে আলাদা করতে পারেন? বিল্ড টাইমে?
লেওন - হ্যান লি

সাধারণত একটি গুলপ প্যারামিটার বা সমতুল্য হিসাবে
নিতিনসিংহ

জেএসএনের নিম্নলিখিত হিসাবে প্রবেশ রয়েছে: - "এনভায়রনমেন্টসোর্স": "এনভায়রনমেন্টস / এনভায়রনমেন্টমেন্টস", "এনভায়রনমেন্টস": dev "ডেভ": "এনভায়রনমেন্টস / এনভায়রনমেন্টমেন্টস", "প্রোড": "এনভায়রনমেন্টস / এনভায়রনমেন্ট.প্রোড.টস" }
নিতিনসিংহ



0

আমার কৌণিক 2 প্রকল্পের "মেইন.টি.এস" ফাইলটি অন্য উত্তরগুলির উল্লেখ করেছে না, তবে এটিতে একটি " বুট.এসটি " ফাইল রয়েছে যা মনে হয় একই জিনিস সম্পর্কে। (পার্থক্যটি সম্ভবত কৌনিক বিভিন্ন সংস্করণের কারণে is

import"Boot.ts" এ শেষ নির্দেশনার পরে এই দুটি লাইন যুক্ত করা আমার পক্ষে কাজ করেছে:

import { enableProdMode } from "@angular/core";
enableProdMode();
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.