বাজেটে সতর্কতা, প্রাথমিকের জন্য সর্বাধিক ছাড়িয়ে গেছে


154

- প্রোড দিয়ে আমার কৌণিক 7 প্রকল্পটি তৈরি করার সময়, আমার বাজেটে একটি সতর্কতা রয়েছে।

আমার একটি কৌনিক 7 প্রকল্প রয়েছে, আমি এটি তৈরি করতে চাই, তবে আমার একটি সতর্কতা রয়েছে:

WARNING in budgets, maximum exceeded for initial. Budget 2 MB was exceeded by 1.77 MB

এগুলি হ'ল বিশদ বিবরণ:

chunk {scripts} scripts.2cc9101aa9ed72da1ec4.js (scripts) 154 kB  [rendered]
chunk {0} runtime.ec2944dd8b20ec099bf3.js (runtime) 1.41 kB [entry] [rendered]
chunk {1} main.13d1eb792af7c2f359ed.js (main) 3.34 MB [initial] [rendered]
chunk {2} polyfills.11b1e0c77d01e41acbba.js (polyfills) 58.2 kB [initial] [rendered]
chunk {3} styles.33b11ad61bf10bb992bb.css (styles) 379 kB [initial] [rendered]

বাজেট ঠিক কি? এবং আমি কীভাবে সেগুলি পরিচালনা করব?


4
কৌণিক.জসন ফাইল সম্পাদনা করার পরিবর্তে আপনার চিত্রগুলিকে সম্পদে সংকুচিত করার চেষ্টা করুন
আহসান

@ আহসান আমি এটাই করেছি। এখনও একই বার্তা। নিশ্চিত না যে এটি সম্পদ সম্পর্কে।
আমেরিকা

@ আমার নতুন উত্তরটি শাপ দিন এবং লিঙ্কগুলি দেখুন
মাসউদ বিমার

উত্তর:


248

কৌণিক.জসন ফাইলটি খুলুন এবং budgetsকীওয়ার্ডটি সন্ধান করুন।

এটি দেখতে হবে:

"budgets": [
   {
      "type": "initial",
      "maximumWarning": "2mb",
      "maximumError": "5mb"
   }
]

আপনি সম্ভবত অনুমান করেছেন যে আপনি maximumWarningএই সতর্কতাটি প্রতিরোধের জন্য মান বাড়িয়ে দিতে পারেন , যেমন:

"budgets": [
   {
      "type": "initial",
      "maximumWarning": "4mb", <===
      "maximumError": "5mb"
   }
]

কী বাজেটের অর্থ কি?

একটি পারফরম্যান্স বাজেট নির্দিষ্ট মানগুলির সীমাবদ্ধতার একটি গোষ্ঠী যা সাইটের কার্য সম্পাদনকে প্রভাবিত করে, যা কোনও ওয়েব প্রকল্পের নকশা এবং বিকাশে অতিক্রম করতে পারে না।

আমাদের ক্ষেত্রে বাজেট বান্ডিল আকারের সীমা।

আরো দেখুন:


2
বাজেটের অর্থ কী আপনি ব্যাখ্যা করতে পারেন?
স্ট্যাক ওভারফ্লো

3
@ স্ট্যাকওভারফ্লো যুক্ত হয়েছে
ইয়ুরজুই

2
আপনার তাত্ক্ষণিক উত্তরের জন্য @ ইয়ুরজুইকে ধন্যবাদ, এটি কৌণিক in-তে নতুন বৈশিষ্ট্য? আমরা এই ত্রুটিটি কৌণিক 5 তে দেখতে পাইনি এর অর্থ কি আমরা কিছু ভুল করছি?
স্ট্যাক ওভারফ্লো

2
@ স্ট্যাকওভারফ্লো যোগ করা হয়েছিল @angular/cli@7এখানে এনজি 7 With v7, we are also defaulting new projects to take advantage of Bundle Budgets in our CLI.
তে

23
ব্যবহৃত বাজেটের আকার হ্রাস করতে কীভাবে অপ্টিমাইজ করবেন? পরিবর্তে এটি বাড়ানোর জন্য ...
মৃত মনন

76

কৌণিক সিএলআই বাজেট কি? বাজেটগুলি কৌণিক সিএলআইয়ের একটি কম পরিচিত বৈশিষ্ট্য। এটি একটি বরং ছোট কিন্তু একটি খুব ঝরঝরে বৈশিষ্ট্য!

অ্যাপ্লিকেশনগুলির কার্যকারিতা বৃদ্ধির সাথে সাথে এগুলি আকারেও বৃদ্ধি পায়। বাজেটগুলি কৌণিক সিএলআই-এর একটি বৈশিষ্ট্য যা আপনার অ্যাপ্লিকেশনটির কিছু অংশ আপনি নির্ধারিত সীমানার মধ্যে থাকতে নিশ্চিত করার জন্য আপনার কনফিগারেশনে বাজেটের প্রান্তিক স্থাপন করতে পারবেন - অফিসিয়াল ডকুমেন্টেশন

বা অন্য কথায়, আমরা আমাদের কৌণিক অ্যাপ্লিকেশনটিকে সংকলনযুক্ত জাভাস্ক্রিপ্ট ফাইলগুলির একটি সেট হিসাবে বর্ণনা করতে পারি যা বন্ডল নামে থাকে যা বিল্ড প্রক্রিয়া দ্বারা উত্পাদিত হয়। কৌণিক বাজেট আমাদের এই বান্ডিলগুলির প্রত্যাশিত আকারগুলি কনফিগার করতে দেয়। এরপরে, যখন আমরা একটি সতর্কতা পেতে চাই বা বান্ডিলের আকারটি নিয়ন্ত্রণের বাইরে চলে যায় তবে ত্রুটি দিয়ে বিল্ড ব্যর্থ করতে চাইলে আমরা শর্তগুলির জন্য প্রান্তিকতাগুলি কনফিগার করতে পারি!

একটি বাজেট সংজ্ঞা কিভাবে? কৌণিক বাজেটগুলি কৌণিক.জসন ফাইলে সংজ্ঞায়িত করা হয়। বাজেটগুলি প্রকল্পের জন্য সংজ্ঞায়িত করা হয় যা বোধগম্য হয় কারণ একটি কর্মক্ষেত্রের প্রতিটি অ্যাপের আলাদা আলাদা প্রয়োজন হয়।

ব্যবহারিকভাবে চিন্তাভাবনা করা, এটি কেবল উত্পাদন বিল্ডগুলির জন্য বাজেট সংজ্ঞায়িত করার জন্য বোধগম্য। প্রোড বিল্ড গাছের ঝাঁকুনি এবং কোড মিনিমাইজেশনের মতো সমস্ত অপ্টিমাইজেশন প্রয়োগ করার পরে "সত্য আকার" দিয়ে বান্ডিল তৈরি করে।

উফ, একটি বিল্ড ত্রুটি! সর্বাধিক বান্ডিল আকার ছাড়িয়ে গেছে। এটি একটি দুর্দান্ত সংকেত যা আমাদের বলে যে কিছু ভুল হয়েছে ...

  1. আমরা আমাদের বৈশিষ্ট্যটিতে পরীক্ষা-নিরীক্ষা করে থাকতে পেরেছি এবং সঠিকভাবে পরিষ্কার না করেছি
  2. আমাদের সরঞ্জামটি ভুল হতে পারে এবং একটি খারাপ স্বয়ং-আমদানি সম্পাদন করতে পারে, বা আমরা আমদানির প্রস্তাবিত তালিকা থেকে খারাপ জিনিসটি বাছাই করি
  3. আমরা অনুপযুক্ত স্থানে অলস মডিউলগুলি থেকে স্টাফ আমদানি করতে পারি
  4. আমাদের নতুন বৈশিষ্ট্যটি সত্যিই বড় এবং বিদ্যমান বাজেটের সাথে এটি খাপ খায় না

প্রথম দৃষ্টিভঙ্গি: আপনার ফাইলগুলি কি জিপ করা আছে?

সাধারণভাবে বলতে গেলে, জিজেপ করা ফাইলটিতে মূল ফাইলের আকারের পরিমাণ প্রায় 20% থাকে, যা আপনার অ্যাপ্লিকেশনটির প্রাথমিক লোডের সময়কে মারাত্মকভাবে হ্রাস করতে পারে। আপনি আপনার ফাইলগুলি জিপ করেছেন কিনা তা পরীক্ষা করতে, কেবল বিকাশকারী কনসোলের নেটওয়ার্ক ট্যাবটি খুলুন। "প্রতিক্রিয়া শিরোনামগুলিতে" আপনার যদি "সামগ্রী-এনকোডিং: জিজিপ" দেখতে পাওয়া যায় তবে আপনি ভাল you

জিজিপ করবেন কীভাবে? যদি আপনি বেশিরভাগ ক্লাউড প্ল্যাটফর্ম বা সিডিএনতে আপনার কৌণিক অ্যাপ্লিকেশনটি হোস্ট করেন তবে আপনার এই সমস্যাটি নিয়ে উদ্বিগ্ন হওয়া উচিত নয় কারণ তারা সম্ভবত আপনার জন্য এটি পরিচালনা করেছে। তবে, যদি আপনার নিজের সার্ভার (যেমন নোডজেএস + এক্সপ্রেসজেএস) আপনার কৌণিক অ্যাপ্লিকেশনটি পরিবেশন করে থাকে তবে অবশ্যই ফাইলগুলি জিজেপ করা হয়েছে কিনা তা অবশ্যই পরীক্ষা করে দেখুন। নীডে কোনও নোডজেএস + এক্সপ্রেসজেএস অ্যাপে আপনার স্থিতিশীল সম্পদগুলি জিপ করার উদাহরণ is আপনি সহজেই এই মৃত সহজ মিডলওয়্যার "সংক্ষেপণ" কল্পনা করতে পারেন যে আপনার বান্ডিলের আকারটি 2.21MB থেকে 495.13KB এ নামিয়ে আনবে।

const compression = require('compression')
const express = require('express')
const app = express()
app.use(compression())

দ্বিতীয় পদ্ধতি: আপনার কৌণিক বান্ডিল বিশ্লেষণ করুন

যদি আপনার বান্ডেলের আকারটি খুব বড় হয়ে যায় তবে আপনি নিজের বান্ডিলটি বিশ্লেষণ করতে চাইতে পারেন কারণ আপনি একটি অনুপযুক্ত বড় আকারের তৃতীয় পক্ষের প্যাকেজটি ব্যবহার করেছেন বা আপনি যদি কিছু প্যাকেজটি আর ব্যবহার না করেন তবে আপনি এটি মুছে ফেলার ভুলে গেছেন। ওয়েবপ্যাকের বান্ডেলের সংমিশ্রণের একটি ভিজ্যুয়াল ধারণা দেওয়ার জন্য ওয়েবপ্যাকের একটি দুর্দান্ত বৈশিষ্ট্য রয়েছে।

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

এই গ্রাফটি পাওয়া খুব সহজ।

  1. npm install -g webpack-bundle-analyzer
  2. আপনার কৌণিক অ্যাপে চালান ng build --stats-json(পতাকা ব্যবহার করবেন না --prod)। সক্ষম করে --stats-jsonআপনি একটি অতিরিক্ত ফাইল stats.json পাবেন
  3. অবশেষে, চালান webpack-bundle-analyzer ./dist/stats.jsonএবং আপনার ব্রাউজারটি স্থানীয় হোস্ট: 8888 এ পৃষ্ঠাটি পপ আপ করবে। এটি দিয়ে মজা করুন।

রেফ 1: কীভাবে কৌনিক সিএলআই বাজেটগুলি আমার দিনটি বাঁচায় এবং তারা কীভাবে আপনার বাঁচাতে পারে

রেফ 2: 4 টি ধাপে কৌণিক বান্ডিল আকার অনুকূলিত করুন


আপনি আপনার কৌণিক অ্যাপ্লিকেশনটিতে সরবরাহিত 'সংক্ষেপণ' কোডটি কোথায় রেখেছেন?
F3L1X79

1
আপনি যদি নোডেজ প্রজেক্টে কিউজিপ ব্যবহার করেন তবে এই লিঙ্কটি দেখুন , কৌণিক প্রকল্পের জন্য আপনি কেবল এটি বিল্ড কমান্ডে সক্ষম করতে পারেন এই লিঙ্কটি দেখুন
মাসউদ বিমার

2
বিশ্বব্যাপী প্যাকেজটি ইনস্টল না করে বিশ্লেষক চালানোর জন্য:npx webpack-bundle-analyzer ./dist/stats.json
michel404

4
কৌনিক 9 এ কমান্ডটি রয়েছে ng build --statsJson=true। দেখুন কৌণিক 9 ডক
Wami
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.