javascript - যবহ - জাভাস্ক্রিপ্ট বই pdf




এনপিএক্স এবং এনপিএম এর মধ্যে পার্থক্য? (5)

এনপিএক্স প্রবর্তন করা হচ্ছে: একটি এনপিএম প্যাকেজ রানার

NPM - প্যাকেজ পরিচালনা করে তবে জীবনকে কার্যকর করা সহজ করে না।
NPX - নোড প্যাকেজ চালানোর জন্য একটি সরঞ্জাম।

NPX NPM সংস্করণ 5.2+ এর সাথে একত্রিত হয়

NPM নিজেই কোনও প্যাকেজ চালায় না। এটি আসলে কোনও প্যাকেজ চালায় না। আপনি যদি এনপিএম ব্যবহার করে কোনও প্যাকেজ চালাতে চান তবে আপনাকে অবশ্যই এই প্যাকেজটি আপনার package.json ফাইলে নির্দিষ্ট করতে হবে।

যখন এক্সিকিউটেবলগুলি এনপিএম প্যাকেজগুলির মাধ্যমে ইনস্টল করা হয়, তখন এনপিএম তাদের সাথে লিঙ্ক করে:

  1. স্থানীয় ইনস্টলগুলির ./node_modules/.bin/ ডিরেক্টরিতে "লিঙ্কগুলি" তৈরি করা আছে।
  2. লিনাক্সে গ্লোবাল bin/ ডিরেক্টরি থেকে (যেমন /usr/local/bin ) বা উইন্ডোজের %AppData%/npm গ্লোবাল ইনস্টলগুলির "লিঙ্কগুলি" রয়েছে।

ডকুমেন্টেশন আপনার পড়া উচিত

NPM:

কেউ কোনও নির্দিষ্ট প্রকল্পে স্থানীয়ভাবে একটি প্যাকেজ ইনস্টল করতে পারে:

npm install some-package

এখন ধরা যাক আপনি চান নোডজেএস কমান্ড লাইন থেকে সেই প্যাকেজটি কার্যকর করতে:

$ some-package

উপরের ব্যর্থ হবে। কেবলমাত্র বিশ্বব্যাপী ইনস্টল করা প্যাকেজগুলি কেবল তাদের নাম টাইপ করে সম্পাদন করা যেতে পারে।

এটি ঠিক করতে এবং এটি চালনার জন্য আপনাকে অবশ্যই স্থানীয় পাথ টাইপ করতে হবে:

$ ./node_modules/.bin/some-package

আপনি packages.json ফাইল সম্পাদনা করে এবং scripts বিভাগে সেই প্যাকেজটি যুক্ত করে স্থানীয়ভাবে ইনস্টল করা প্যাকেজটি চালাতে পারেন:

{
  "name": "whatever",
  "version": "1.0.0",
  "scripts": {
    "some-package": "some-package"
  }
}

তারপরে npm run-script (বা npm run ) ব্যবহার করে স্ক্রিপ্টটি npm run :

npm run some-package

NPX:

npx <command> $PATH , বা স্থানীয় প্রকল্প বাইনারিগুলিতে আছে কিনা তা পরীক্ষা করে তা কার্যকর করবে। সুতরাং, উপরের উদাহরণস্বরূপ, আপনি যদি স্থানীয়ভাবে ইনস্টল হওয়া প্যাকেজটি some-package সম্পাদন করতে চান তবে আপনার টাইপ করুন:

npx some-package

npx আর একটি বড় সুবিধা npx এমন প্যাকেজ চালানোর ক্ষমতা যা পূর্বে ইনস্টল করা হয়নি:

$ npx create-react-app my-app

উপরের উদাহরণটি কমান্ডটি যে পথে চালিত হয়েছিল তার মধ্যে একটি অ্যাপ্লিকেশন বয়লারপ্লেট উত্পন্ন করবে এবং এটি নিশ্চিত করে যে আপনি সর্বদা কোনও জেনারেটর বা বিল্ড সরঞ্জামের সর্বশেষতম সংস্করণ ব্যবহার করবেন আপনি যখনই এটি ব্যবহার করতে চলেছেন তখন আপগ্রেড না করে।

সম্পর্কিত প্রশ্নাবলী:

  1. নোড_মডিউলগুলিতে স্থানীয়ভাবে ইনস্টল করা প্যাকেজটি কীভাবে ব্যবহার করবেন?
  2. এনপিএম: কীভাবে সোর্স করবেন? / নোড_মডিউলস / বিিন ফোল্ডারটি?
  3. কীভাবে আপনি এনপিএম স্ক্রিপ্ট ব্যবহার করে একটি জেএস ফাইল চালাবেন?

আমি সবেমাত্র লার্নিং রিএ্যাক্ট শুরু করেছি এবং ফেসবুক নিম্নলিখিত প্রস্তুতির প্রকল্পটি সরবরাহ করে প্রাথমিক সেটআপটিকে সহজতর করতে সহায়তা করে।
গিথুব এ ফেসবুক অ্যাকাউন্টে লিঙ্ক: https://github.com/facebook/create-react-app
যদি কঙ্কাল প্রকল্পটি ইনস্টল করতে হয় তবে আমাকে কমান্ড-লাইনে npx create-react-app my-app টাইপ npx create-react-app my-app
আমি ভাবছিলাম যে npx create-react-app my-app এ ফেসবুক অ্যাকাউন্টে npx create-react-app my-app npm create-react-app my-app পরিবর্তে npx create-react-app my-app npm create-react-app my-app ?


NPX:

https://www.futurehosting.com/blog/npx-makes-life-easier-for-node-developers-plus-node-vulnerability-news/ / থেকে:

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

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

সরঞ্জামগুলির স্থানীয় সংস্করণগুলি বিকাশকারীদের গিটহাব থেকে বিশ্বব্যাপী ইনস্টল করা সরঞ্জামগুলির সংস্করণগুলির সাথে অসঙ্গতিগুলি নিয়ে চিন্তা না করেই প্রকল্পগুলি টানতে দেয়। এনপিএম কেবল স্থানীয় সংস্করণ ইনস্টল করতে পারে এবং আপনি যেতে ভাল। তবে প্রকল্প নির্দিষ্ট ইনস্টলেশনগুলি তাদের সমস্যা ছাড়াই নয়: আপনি কীভাবে সরঞ্জামটির সঠিক অবস্থানটি প্রকল্পের সঠিক অবস্থানটি নির্দিষ্ট করে না দিয়ে বা এলিয়াসের সাথে চারপাশে না খেলতে চালাবেন?

সমস্যাটি এনপিএক্স সমাধান করে। এনপিএম 5.2, এনপিএক্স-এ অন্তর্ভুক্ত একটি নতুন সরঞ্জাম হ'ল একটি ছোট্ট ইউটিলিটি যা কোনও প্রকল্পের মধ্যে থেকে ডেকে এলে সঠিক অ্যাপ্লিকেশনটি চালানোর পক্ষে যথেষ্ট স্মার্ট।

আপনি যদি মোচার প্রকল্প-স্থানীয় সংস্করণটি চালাতে চান, উদাহরণস্বরূপ, আপনি প্রকল্পের ভিতরে এনপিএক্স মোচা চালাতে পারেন এবং এটি আপনার প্রত্যাশা অনুযায়ী করবে।

এনপিএক্সের একটি উপকারী সুবিধা হ'ল এটি ইতিমধ্যে ইনস্টল না থাকা এনএমপি প্যাকেজগুলি স্বয়ংক্রিয়ভাবে ইনস্টল করবে। সুতরাং, সরঞ্জামটির নির্মাতা ক্যাট মার্চেন উল্লেখ করেছেন, আপনি বেনি হিলকে বৈশ্বিক পরিবেশকে দূষণকারী হিসাবে মোকাবেলা না করেই এনপিএক্স বেনি-হিল চালাতে পারেন।

আপনি যদি কোনও স্পিনের জন্য এনপিএক্স নিতে চান তবে এনপিএমের অতি সাম্প্রতিক সংস্করণে আপডেট করুন।


এনপিএম হ'ল প্যাকেজ ম্যানেজার, আপনি এনপিএম ব্যবহার করে নোড.জেএস প্যাকেজ ইনস্টল করতে পারেন

এনপিএক্স হ'ল নোড.জেএস প্যাকেজগুলি কার্যকর করার একটি সরঞ্জাম।

আপনি প্যাকেজটি বিশ্বব্যাপী বা স্থানীয়ভাবে ইনস্টল করেছেন কিনা তা বিবেচ্য নয়। এনপিএক্স এটি অস্থায়ীভাবে ইনস্টল করে চালাবে। আপনি যদি প্যাকেজ.জসোন ফাইলটি কনফিগার করে স্ক্রিপ্ট বিভাগে অন্তর্ভুক্ত করেন তবে এনপিএম প্যাকেজগুলিও চালাতে পারে।

সুতরাং এটি মনে রাখবেন, যদি আপনি স্থানীয়ভাবে বা বিশ্বব্যাপী এনপিএক্স ব্যবহার না করে দ্রুত কোনও নোড প্যাকেজটি চেক / চালাতে চান।

এনপি এম - ম্যানেজার

এনপি এক্স - এক্সিকিউট - মনে রাখা সহজ


কর্মে এনপিএক্সের উদাহরণ এখানে: এনপিএক্স গায়েস হ্যালো

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

অন্যান্য উত্তরে উল্লিখিত হিসাবে, এনপিএক্স প্যাকেজটি ইনস্টল করার প্রয়োজন পরে (এনপিএম সহ) চালানোর আগে কনফিগার করা প্রয়োজন এমন ক্ষেত্রেও খুব দরকারী। উদাহরণস্বরূপ, jpm.package ফাইলটি কনফিগার করুন এবং তারপরে এনটিএম ব্যবহারের পরিবর্তে কনফিগার করা রান কমান্ডটি কল করুন কেবল তার পরিবর্তে এনপিএক্স ব্যবহার করুন। একটি বাস্তব উদাহরণ: এনপিএক্স তৈরি-প্রতিক্রিয়া-অ্যাপ্লিকেশন আমার অ্যাপ্লিকেশন


এনপিএক্স হ'ল একটি এনপিএম প্যাকেজ রানার (এক্স সম্ভবত এক্সেক্সট) stands সাধারণ ব্যবহারটি হল অস্থায়ীভাবে বা পরীক্ষার জন্য একটি প্যাকেজ ডাউনলোড এবং চালানো।

ক্রিয়েট - রিঅ্যাক্ট -অ্যাপটি একটি এনপিএম প্যাকেজ যা প্রত্যাশা করা হয় যে এটি একবারের প্রকল্পের জীবনচক্রের মধ্যে একবার চালানো হবে। সুতরাং, এটি একক পদক্ষেপে ইনস্টল করতে এবং চালাতে এনপিএক্স ব্যবহার করা পছন্দ করা হয়।

ম্যান পেজে https://www.npmjs.com/package/npx উল্লিখিত হিসাবে, এনপিএক্স PATH বা ডিফল্টরূপে node_modules / .bin থেকে কমান্ড চালাতে পারে।

দ্রষ্টব্য: কিছু খননের মাধ্যমে আমরা খুঁজে পেতে পারি যে নোড পরিবেশের মধ্যে কার্যকর করা একটি জাভাস্ক্রিপ্ট ফাইল (সম্ভবত /usr/lib/node_modules/create-react-app/index.js টু নোড পরিবেশে) ক্রিয়েট-রি্যাক্ট-অ্যাপটি পয়েন্ট করতে পারে । এটি কেবলমাত্র একটি বৈশ্বিক সরঞ্জাম যা কিছু পরীক্ষা করে। প্রকৃত সেটআপটি প্রতিক্রিয়া-স্ক্রিপ্টগুলির দ্বারা সম্পন্ন হয়, যার সর্বশেষ সংস্করণটি প্রকল্পে ইনস্টল করা আছে। আরও তথ্যের জন্য https://github.com/facebook/create-react-app দেখুন।






npm