কখন 'এনপিএম স্টার্ট' এবং কখন 'এনজি সার্ভিস' ব্যবহার করবেন?


157

ng serve একটি ডেভলপমেন্ট সার্ভারের মাধ্যমে একটি কৌণিক প্রকল্প পরিবেশন করে

 

npm startপ্যাকেজের "স্টার্ট" বৈশিষ্ট্যে তার "স্ক্রিপ্ট" অবজেক্টের একটি স্বেচ্ছাসেবক কমান্ড চালায়। যদি "স্ক্রিপ্টস" অবজেক্টে কোনও "শুরু" সম্পত্তি নির্দিষ্ট করা না থাকে তবে এটি নোড সার্ভার.জেএস চালাবে।

মনে হচ্ছে ng serveএমবেড করা সার্ভার npm startশুরু হয় যেখানে নোড সার্ভারগুলি শুরু হয়।

কেউ কি এর উপর কিছু আলোক ফেলতে পারে?


1
আপনি কি লক্ষ্য করেছেন যে সেই startআদেশটি scriptsআপনার বস্তুটিতে package.jsonকী করে? কেন আপনি ভাবেন যে কোনও পার্থক্য আছে?
jonrsharpe

উত্তর:


204

npm startআপনার ফাইলের অবজেক্টের startকমান্ডের জন্য আপনি যা নির্ধারণ করেছেন তা চালিয়ে যাবে ।scriptspackage.json

সুতরাং যদি এটির মতো দেখাচ্ছে:

"scripts": {
  "start": "ng serve"
}

তারপরে npm startদৌড়াবে ng serve


এছাড়াও, ওপিটির ইতিমধ্যে থাকা উক্তি অনুসারে: "স্ক্রিপ্ট" অবজেক্টে কোনও "শুরু" সম্পত্তি নির্দিষ্ট না করা থাকলে এটি চলবে node server.js(যা ফাইলটি না থাকলে ব্যর্থ হবে)।
jonrsharpe

1
হ্যাঁ, তবে কৌণিক-ক্লাইম সূচনা করার সময় স্টার্ট কমান্ড তৈরি করে তাই যদি তিনি পরিবর্তন না করেন তবে এটি একই কমান্ড হওয়া উচিত।
পুইসবারবার

7
দ্রষ্টব্য: ব্যবহার npm startকরা আরও ভাল। ব্যবহারের জন্য ng serveআপনাকে বিশ্বব্যাপী কৌণিক ক্লিপ ইনস্টল করতে হবে বা নোড মডিউলগুলি বিন থেকে রেফারেন্স করতে হবে।
কাইল পিফ্রোমার

43

এমন একটি প্রকল্পের জন্য যা সিএলআই ব্যবহার করছে, আপনি সাধারণত এনজি সার্ভ ব্যবহার করবেন। অন্যান্য ক্ষেত্রে আপনি এনপিএম স্টার্ট ব্যবহার করতে পারেন। এখানে বিস্তারিত ব্যাখ্যা:

এনজি পরিবেশন

এমন একটি প্রকল্প পরিবেশন করবে যা 'কৌণিক সিএলআই সচেতন', অর্থাত্ একটি প্রকল্প যা কৌণিক সিএলআই ব্যবহার করে তৈরি করা হয়েছে, বিশেষত:

ng new app-name

সুতরাং, আপনি যদি সিএলআই ব্যবহার করে কোনও প্রকল্প ভাসিয়ে রেখেছেন, আপনি সম্ভবত এনজি সার্ভ ব্যবহার করতে চাইবেন

এনপিএম শুরু

এই প্রকল্পের ক্ষেত্রে যে ব্যবহার করা যেতে পারে না কৌণিক CLI সচেতন (অথবা এটা কেবল চালানোর জন্য একটি প্রকল্প কৌণিক CLI সচেতন যে জন্য 'NG পরিবেশন করা' ব্যবহার করা যেতে পারে)

অন্যান্য উত্তরগুলির হিসাবে, এটি একটি এনপিএম কমান্ড যা এনডিপি কমান্ড (গুলি) প্যাকেজ থেকে চালাবে যা জেনসন শনাক্তকারী 'স্টার্ট' রয়েছে এবং এটি কেবল 'এনজি সার্ভিস' চালাতে হবে না। প্যাকেজ.জেসনে নিম্নলিখিতগুলির মতো কিছু পাওয়া সম্ভব:

   "scripts": {
     "build:watch": "tsc -p src/ -w",
     "serve": "lite-server -c=bs-config.json",
     "start": "concurrently \"npm run build:watch\" \"npm run serve\""
     ...
   },
   "devDependencies": {
     "concurrently": "^3.2.0",
     "lite-server": "^2.2.2",

এই ক্ষেত্রে, 'এনপিএম স্টার্ট' এর ফলে নিম্নলিখিত কমান্ডগুলি চালিত হবে:

concurrently "npm run build:watch" "npm run serve"

এটি একই সাথে টাইপসক্রিপ্ট সংকলক (কোড পরিবর্তনের জন্য নজর রাখছে) চালাবে এবং নোড লাইট-সার্ভার (যা ব্যবহারকারীরা ব্রাউজারসিঙ্ক) চালাবেন


1
আমি মনে করি আপনি নিম্নাঞ্চলগুলি অর্জনের একমাত্র কারণ হতে পারে কারণ চিহ্নিত উত্তরে যা বলা হয়েছিল তাকে আপনি কমবেশি পুনরাবৃত্তি করেছিলেন।
Kostrzak

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

13

দলিল থেকে

এনপিএম-শুরু :

এটি প্যাকেজের "স্টার্ট" বৈশিষ্ট্যে তার "স্ক্রিপ্ট" অবজেক্টের একটি স্বেচ্ছাসেবক কমান্ড চালায়। যদি "স্ক্রিপ্টস" অবজেক্টে কোনও "শুরু" সম্পত্তি নির্দিষ্ট করা না থাকে তবে এটি নোড সার্ভার.জেএস চালাবে।

যার অর্থ এটি প্যাকেজ.জসনের অভ্যন্তরে প্রারম্ভিক স্ক্রিপ্টগুলি কল করবে

"scripts": {
"start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite --baseDir ./app --port 8001\" ",
"lite": "lite-server",
 ...
}

এনজি সার্ভিস :

কৌণিক / কৌণিক-ক্লাই দ্বারা সরবরাহ করা হয়েছে কৌণিক 2 অ্যাপ্লিকেশন শুরু করার জন্য যা কৌণিক-ক্লিমে তৈরি হয়েছিল। যখন আপনি কৌণিক-ক্লিপ ইনস্টল করবেন, এটি C:\Users\name\AppData\Roaming\npm(উইন্ডোগুলির জন্য) এর অধীনে এনজি কোডএমডি তৈরি করবে এবং কার্যকর করবে ute"%~dp0\node.exe" "%~dp0\node_modules\angular-cli\bin\ng" %*

সুতরাং npm startআপনি ব্যবহার করে নিজের এক্সিকিউশন তৈরি করতে পারেন যেখানে ng serveকেবল কৌনিক ক্লাইমের জন্য

আরও দেখুন: আপনি এনজি সার্ভিস চালালে কি হয়?


বা এটি দিতে পারেnpm ERR! missing script: start
লিও

1

এর চেয়েও বেশি কিছু আছে। মৃত্যুদন্ড কার্যকর করা পৃথক পৃথক পৃথক।

npm run start

আপনার নোড_মডিউল / .বিনে অবস্থিত স্থানীয় নির্বাহযোগ্য আপনার প্রকল্পগুলি পরিচালনা করবে।

ng serve

আর একটি এক্সিকিউটেবল যা বিশ্বব্যাপী চালানো হবে।

এর অর্থ যদি আপনি কোনও কৌণিক প্রকল্পটি ক্লোন করে ইনস্টল করেন যা কৌণিক-ক্লাইপ সংস্করণ 5 দিয়ে তৈরি করা হয়েছে এবং আপনার বিশ্বব্যাপী ক্লাইপ সংস্করণ 7 হয়, তবে আপনার এনজি বিল্ডে সমস্যা হতে পারে।


0

আপনি যদি ngকমান্ড ব্যতীত অন্য মেশিন থেকে চালিত কৌণিক অ্যাপ চালাতে চান তবে package.jsonনীচের হিসাবে সম্পাদনা করুন

"scripts": {
    "ng": "ng",
    "start": "node node_modules/.bin/ng serve",
    "build": "node node_modules/.bin/ng build",
    "test": "node node_modules/.bin/ng test",
    "lint": "node node_modules/.bin/ng lint",
    "e2e": "node node_modules/.bin/ng e2e"
  }

শেষ পর্যন্ত npm startসার্ভার বিল্ড শুরু করতে স্বাভাবিক কমান্ডটি চালান ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.