javascript - লোডাশ আমদানির সঠিক উপায়




lodash babeljs (3)

আপনি যদি ওয়েবপ্যাক 4 ব্যবহার করে থাকেন তবে নীচের কোডটি গাছের কাঁপানো সম্ভব।

import { has } from 'lodash-es';

লক্ষণীয় বিষয়গুলি;

  1. কমনজেএস মডিউলগুলি গাছ কাঁপানোর মতো নয় তাই আপনার অবশ্যই lodash-es ব্যবহার করা উচিত যা লোডাশ লাইব্রেরিটি lodash ( lodash ) এর পরিবর্তে ইএস মডিউল হিসাবে রফতানি করা হয়।

  2. lodash-es এর প্যাকেজ.জসনে "sideEffects": false রয়েছে "sideEffects": false , যা প্যাকেজের ভিতরে থাকা সমস্ত ফাইলগুলি পার্শ্ব প্রতিক্রিয়া মুক্ত বলে ওয়েবপ্যাক 4-কে জানিয়ে দেয় ( https://webpack.js.org/guides/tree-shaking/#mark-the-file-as-side-effect-free )।

  3. এই তথ্য গাছ কাঁপানোর জন্য গুরুত্বপূর্ণ কারণ মডিউল বান্ডেলরা ফাইল শেক ফাইলগুলিতে গাছের ঝাঁকুনি দেয় না যার মধ্যে সম্ভবত তাদের রফতানীত সদস্যদের কোথাও ব্যবহার না করা হলেও পার্শ্ব প্রতিক্রিয়া থাকে।

সম্পাদন করা

সংস্করণ ১.৯.০ অনুসারে, পার্সেল "sideEffects": false সমর্থন করে "sideEffects": false , হুমকী import { has } from 'lodash-es'; পার্সেলের সাথে গাছগুলিও কাঁপানো। এটি বৃক্ষ কাঁপানো কমনজেএস মডিউলগুলিকেও সমর্থন করে, যদিও এটি সম্ভবত আমার পরীক্ষা অনুসারে ইএস মডিউলগুলির গাছ কাঁপানো সাধারণ জেএসের চেয়ে বেশি দক্ষ।

আমার নীচে একটি টান অনুরোধের প্রতিক্রিয়া ছিল, কেবল ভাবছেন যে লোডাশ আমদানির সঠিক উপায় কোন উপায়?

আপনার 'লোডাশ / হ্যাজ' থেকে আমদানিটি আরও ভাল হবে ... নিজের আগে ভারী ভারী লোডাস (ভি 3) এর পূর্ববর্তী সংস্করণটির জন্য, আমাদের কেবল পুরো লোড্যাশ লাইব্রেরি আমদানির পরিবর্তে একটি স্পেসিফিক মডিউল / ফাংশন আমদানি করা উচিত। নতুন সংস্করণ (v4) সম্পর্কে নিশ্চিত নয়।

import has from 'lodash/has';

বনাম

import { has } from 'lodash';

ধন্যবাদ


আপনি যদি ব্যাবেল ব্যবহার করছেন তবে আপনার babel-plugin-lodash পরীক্ষা করা উচিত, এটি আপনার জন্য ব্যবহৃত লোডাসের অংশগুলি কম ঝামেলা এবং একটি ছোট বান্ডিল চেরি-বাছাই করবে।

এর কয়েকটি limitations :

  • লোডাশ লোড করতে আপনাকে অবশ্যই ES2015 আমদানি ব্যবহার করতে হবে
  • ব্যাবেল <6 & নোড.জেএস <4 সমর্থিত নয়
  • চেইন সিকোয়েন্সগুলি সমর্থিত নয়। বিকল্পের জন্য এই ব্লগ পোস্ট দেখুন।
  • মডুলারাইজড পদ্ধতি প্যাকেজগুলি সমর্থিত নয়

import has from 'lodash/has'; আরও ভাল কারণ লোডাশ তার সমস্ত ফাংশনকে একটি ফাইলে ধারণ করে, তাই পুরো 'লোড্যাশ' লাইব্রেরিটি 100k তে আমদানি না করে কেবল লোডাশের ফাংশনটি আমদানি করা আরও ভাল যা সম্ভবত 2k।





babeljs