অ্যাপ্লিকেশন শুরু করার সময় pm n বিকাল স্টার্ট` এবং ode নোড অ্যাপ.জএস` এর মধ্যে পার্থক্য?


188

কমান্ডটি ব্যবহার করে একটি অ্যাপ্লিকেশন ইনস্টল করেছি express new 'filename'। আমি সবেমাত্র শিখেছি আপনি ব্যবহার করে একটি অ্যাপ্লিকেশন শুরু করতে পারেন:

npm start

এখন পর্যন্ত আমি ব্যবহার করেছি:

node app.js

আমার সার্ভার শুরু করতে। দুজনের মধ্যে পার্থক্য কি কেউ জানেন? ধন্যবাদ।

উত্তর:


267

থেকে man পৃষ্ঠা , শুরু npm:

কোনও সরবরাহ করা থাকলে কোনও প্যাকেজের "শুরু" স্ক্রিপ্ট চালায়। যদি কোনও সংস্করণ নির্দিষ্ট না করা থাকে, তবে এটি "সক্রিয়" সংস্করণ শুরু করে।

স্বীকার করা যায় যে, বর্ণনাটি সম্পূর্ণরূপে অপ্রয়োজনীয় এবং এটিই যা বলে তা কেবল। কমপক্ষে এটি সকেট.ওয়ের চেয়ে বেশি নথিভুক্ত।

যাইহোক, আসলে যা ঘটে তা হ'ল এনপিএমটি আপনার প্যাকেজ.জসন ফাইলটিতে দেখায় এবং যদি আপনার মতো কিছু থাকে

"স্ক্রিপ্ট": start "শুরু": "কফি সার্ভার.কফি"}

তাহলে এটি তা করবে। যদি এনপিএম আপনার প্রারম্ভিক স্ক্রিপ্টটি খুঁজে না পায় তবে এটি ডিফল্ট:

নোড সার্ভার.জেএস

 


4
আহ আমি দেখি. সুতরাং আপনি কম্পাইল সময়ে আরও স্ক্রিপ্ট চালানোর জন্য বাছাই না করা পর্যন্ত এটি মূলত একই জিনিস।
পুনর্নবীকরণ করা হয়েছে

1
আপনি যদি সাধারণত "নোড সার্ভার.জেএস" টাইপ করেন তবে হ্যাঁ।
ইউসুফ এক্স

1
আমি একটি নতুন অ্যাপ তৈরি করেছি, এনপিএম স্টার্ট কাজ করছে না। পুরানো অ্যাপ্লিকেশন জন্য এটি ঠিক চলছে। কোনও পরামর্শ?
শিক্ষানবিশ

1
উদাহরণস্বরূপ "নোড app.js" পরিবর্তন রাউটার কুড়ান হবে না, যেখানে "npm শুরু ', তখন যেমন executes package.json শুরু স্ক্রিপ্ট (মত" নোড ./bin/www ")
ইগর Vaschuk

1
আপনি যদি 'এনএমপি' দিয়ে শুরু করেন তবে এটি কনসোলে 'আরএস' টাইপ করে অ্যাপটি পুনরায় চালু করতে পারে।
এলফ

10

ডকুমেন্টেশন আপডেট করা হয়েছে । আমার উত্তরটির গ্রহণযোগ্য উত্তরের তুলনায় উল্লেখযোগ্য পরিবর্তন রয়েছে: আমি ডকুমেন্টেশনগুলি আপ-টু-ডেট প্রতিফলিত করতে চেয়েছিলাম এবং স্বীকৃত উত্তরের কয়েকটি ভাঙা লিঙ্ক রয়েছে।

এছাড়াও, গ্রহণযোগ্য উত্তর কখন "এটি ডিফল্ট হয় node server.js" বলে আমি বুঝতে পারি না । আমি মনে করি ডকুমেন্টেশনটি ডিফল্ট আচরণটি স্পষ্ট করে:

npm শুরুর

একটি প্যাকেজ শুরু করুন

সংক্ষিপ্তসার

npm start [-- <args>]

বিবরণ

এই একটি অবাধ কমান্ড রান প্যাকেজ এর "উল্লেখিত start" তার সম্পত্তির " scripts" বস্তু । " start" " " " scripts" বস্তুতে কোনও সম্পত্তি নির্দিষ্ট না করা থাকলে , এটি চলবে node server.js

সংক্ষেপে, দৌড়ানো npm startদুটি জিনিসগুলির মধ্যে একটি করতে পারে:

  1. npm start {command_name}: একটি স্বেচ্ছাসেবক কমান্ড চালান (যেমন startপ্যাকেজ.জসনের scriptsবস্তুর সম্পত্তিতে যদি এই ধরনের আদেশটি নির্দিষ্ট করা থাকে )
  2. npm start: অন্যথায় যদি কোনও startসম্পত্তি না থাকে (বা কোনও command_nameউত্তীর্ণ হয় না): চালান node server.js, (যা উপযুক্ত নাও হতে পারে , উদাহরণস্বরূপ ওপি থাকে না server.js; ওপি চালায় nodeapp.js)
  3. আমি বলেছি যে আমি কেবল 2 টি আইটেমের তালিকা করব, তবে অন্যান্য সম্ভাবনা (যেমন ত্রুটির ক্ষেত্রে)। উদাহরণস্বরূপ, package.jsonআপনি যে ডিরেক্টরিটি চালাচ্ছেন সেখানে যদি সেটি না থাকে তবে npm startআপনি একটি ত্রুটি দেখতে পাবেন:npm ERR! enoent ENOENT: no such file or directory, open '.\package.json'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.