একটি এএসপি.নেট ওয়েব এপিআই সমাধানে কৌনিক অ্যাপটি কোথায় রাখবেন?


16

আমি একটি গ্রিনফিল্ড অ্যাপ্লিকেশন শুরু করছি এবং আমি এএসপি.এনইটি (4.6) এবং কৌণিক 2 ব্যবহার করতে চাই ব্যাকএন্ডের জন্য আমি ভিজ্যুয়াল স্টুডিওতে একটি প্রকল্প তৈরি করেছি এবং এখন আমি ভাবছি যে কৌনিক অ্যাপটি কোথায় রাখব। আমি ফ্রন্ট-এন্ডের জন্য সত্যিই এনপিএম এবং নোড-সরঞ্জামগুলি ব্যবহার করতে চাই, তবে শেষ পর্যন্ত এটি একই অ্যাজুর অ্যাপ সার্ভিসে উদাহরণ দেওয়া হবে অ্যাংুলার অ্যাপ domain.com/এবং এপিআই এর অধীনে domain.com/api/বা এর মতো with

আমার কীভাবে অ্যাপ্লিকেশনগুলিকে ভিজ্যুয়াল স্টুডিওতে পৃথক করা উচিত? অ্যাংুলার অ্যাপটি কি এটি নিজস্ব প্রকল্পে থাকা উচিত? আমারও কি এপিআই এর মতো একই প্রকল্পে অ্যাঙ্গুলার অ্যাপটি থাকা উচিত? এমনকি আমি যদি এর জন্য নুগেট এবং অন্যান্য ভিএস-সরঞ্জামগুলি ব্যবহার করতে না চাই? (সামনের প্রান্তের জন্য, ভিএস কমবেশি গৌরবযুক্ত কোড সম্পাদক হবে) এই সংমিশ্রণের জন্য আমি কোনও সেরা অনুশীলন পাই না।


আপনি ভিএস এর কোন সংস্করণ ব্যবহার করছেন? ভিএস2015 এর কৌণিক / গ্রান্ট / নোড / ইত্যাদিগুলির জন্য বেশ সুন্দর একীকরণের সরঞ্জাম রয়েছে যা আমি মনে করি ফ্রন্ট-এন্ড বিকাশের সাথে নির্মিত অন্যান্য আইডিইয়ের মতো ব্যবহারের পক্ষে সক্ষম able
ট্রটস্কি94

আমি ভিএস ২০১৫ ইউ ২ তে আছি, তবে দুর্দান্ত সরঞ্জামদান এবং সমস্ত কিছুর পরেও, আমি এখনও নিশ্চিত নই যে এসপিএ এবং এপিআই একই প্রকল্পে রাখলে "আমার উদ্বেগগুলি আলাদা করা" যথেষ্ট কিনা। ভবিষ্যতে, আমি যদি কেউ আমাকে প্রকল্পটিতে সহায়তা করার জন্য পেয়েছি এবং তাদের কেবল সামনের দিকে কাজ করা দরকার। তাদের পুরো স্কেমমেডাঙ্গলটি ডাউনলোড করার দরকার নেই, তাদের উচিত?
খ্রিস্টান ওয়াটেনগার্ড

উত্তর:


13

আপনার কাছে দুটি বিকল্প রয়েছে।

আপনার সমাধানে পৃথক পৃথক mywebsite.api এবং একটি mywebsite.app প্রকল্প তৈরি করুন।

সুবিধাদি

  • উদ্বেগের যথাযথ বিচ্ছেদ।
  • আপনি আপনার এপিআই এবং আপনার সামনের প্রান্তে আপডেটগুলি স্বাধীনভাবে স্থাপন করতে পারেন।
  • সাইটের আর্কিটেকচারটি স্বাধীনভাবে পরিবর্তন করা যেতে পারে (যেমন আপনি ওয়েবসাইটকে প্রভাবিত না করে এসপিএন 5 তে চালানোর জন্য আপনার এপিআই আপডেট করতে পারেন)
  • পরিষ্কারক

একটি প্রকল্পে ক্লায়েন্ট অ্যাপ এবং এপিআই উভয়কে নিয়ে একটি একক প্রকল্প তৈরি করুন

সুবিধাদি

  • আপডেটগুলি মোতায়েন করা সহজ
  • সিওআরএস নিয়ে কাজ করার জন্য কনফিগার করার দরকার নেই

স্থানীয়ভাবে অ্যাপ্লিকেশনটি কীভাবে হোস্ট করবেন এবং কীভাবে বিকাশ করবেন।

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

লাইট-সার্ভার ডক্স থেকে। লাইটওয়েট বিকাশ কেবল নোড সার্ভার যা কোনও ওয়েব অ্যাপ্লিকেশন পরিবেশন করে, ব্রাউজারে এটি খুলবে, এইচটিএমএল বা জাভাস্ক্রিপ্ট পরিবর্তনের সময় সতেজ হয়, সকেট ব্যবহার করে সিএসএস পরিবর্তনগুলিতে ইনজেকশন দেয় এবং কোনও রুট পাওয়া না গেলে ফ্যালব্যাক পৃষ্ঠা রয়েছে has

https://code.visualstudio.com/

https://angular.io/docs/js/latest/quickstart.html

https://www.youtube.com/watch?v=e_FVeYWUF3s

https://github.com/johnpapa/lite-server

আমার মতে

উভয় ক্ষেত্রে একই সমাধানে নুগেট / এনপিএম ব্যবহার করার ক্ষেত্রে কোনও সমস্যা নেই এবং এটি আপনার প্রকল্পের কাঠামোর পছন্দটি অবহিত করবে না।

আমি শুধুমাত্র ডেমো / ধারণা অ্যাপ্লিকেশনগুলির প্রমাণের জন্য একক প্রকল্পের পদ্ধতির ব্যবহার করি। উত্পাদন প্রকাশের জন্য, আমি সর্বদা আমার উদ্বেগগুলি যথাযথভাবে আলাদা করব এবং একটি উত্সর্গীকৃত এপিআই প্রকল্প করব।


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

কিছুটা আলাদা প্রশ্ন। আমি এই তথ্য দিয়ে আমার উত্তর আপডেট করব।
কাউন্টজিরো

আমার অ্যাওয়ার আপডেট করেছে। কিছু পরিষ্কার না হলে দয়া করে আমাকে জানান।
কাউন্টজিরো

এটিই আমি সমাধানের জন্য গিয়েছিলাম। তবে আইস এক্সপ্রেস একটি সাবফোল্ডারের অধীনে একটি প্রকল্পের সাথে অন্যটি মূলের মধ্যে কাজ করে। সুতরাং আমি যে জন্য গিয়েছিলাম।
খ্রিস্টান ওয়াটেনগার্ড

আমি আইআইএস এক্সপ্রেসও ব্যবহার করি। ক্লায়েন্টের পার্শ্ব বিকাশের জন্য লাইট-সার্ভার ব্যবহার করার কারণে ক্লায়েন্টের সাইড কোডে তৈরি কোনও ছানাগুলি স্বয়ংক্রিয়ভাবে আপডেট হয়ে যায়। এই পদ্ধতির সাহায্যে আইআইএস ব্যবহার করতে পারেন।
কাউন্টজিরো

2

আমি এই সিডার প্রকল্পটি পেয়েছি https://github.com/damienbod/AngularWebpackVisualStudio/ যা আপনাকে একক ভিজ্যুয়াল স্টুডিও (2017) প্রকল্পে ক্লায়েন্ট এবং সার্ভারটি বিকাশ এবং হোস্ট করতে দেয়।

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


আমেন। সর্বদা দুটি প্রকল্প করা হ'ল কার্গো কাল্টিং
স্টিংজি জ্যাক

0

ভাল, স্পষ্টতই আপনি এগুলি দুটি সমাধানে আলাদা করতে পারেন, সমাধানে আরও একটি প্রকল্প যুক্ত করতে পারেন বা তাদের একই প্রকল্পে রাখতে পারেন। আমি কি করব তা বলব।

আইএমএইচও, আপনি যদি আইআইএসের সেশনগুলির সুবিধা নিতে চান এবং / অথবা এপিআইয়ের মধ্যে প্রমাণীকরণ প্রক্রিয়াটি গোপন করতে চান তবে ভিজ্যুয়াল স্টুডিওতে কৌনিকটিও লিখুন। আপনি ওয়েব বিকাশ এক্সটেনশানগুলি ইনস্টল করলে ভিএস ২০১৫ এর কৌণিকের সাথে একটি দুর্দান্ত ভাল সংহতকরণ (ইন্টেলিসেন্স) রয়েছে। আমার অবশ্যই বলতে হবে এইভাবে আরও কমপ্যাক্ট এবং পোর্টেবল হবে।

আপনি যদি ব্যাকএন্ড প্রকল্পে ডকুমেন্টেশন পৃষ্ঠাগুলি যুক্ত করতে চলেছেন, তবে তাদের তাদের নিজস্ব প্রকল্পগুলিতে (একই সমাধান) আলাদা করুন এবং সাবডোমেন বা সাবফোল্ডার থেকে এপিআই সরবরাহ করুন।

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


0

ভিএস ২০১৫-তে আপনি প্রতিটিের জন্য আলাদা আলাদা প্রকল্পের ইউআরএল সেট করে রেখে ডিবাগ করার সময় আপনার সমাধানে একাধিক প্রকল্প শুরু করার বিকল্প রয়েছে।

উদাহরণ হিসাবে আপনি আপনার অ্যাংুলার অ্যাপ্লিকেশন প্রজেক্টটি চালু http://localhost:55000/করতে সেট করবেন এবং এআইপিআই প্রকল্পটি চালু হতে পারে http://localhost:55000/api। আপনি প্রকল্পটি ইউটিউব সম্পত্তিটি ওয়েব ট্যাবে প্রোপার্টি সংলাপে সেট করে।

তারপরে একাধিক প্রারম্ভিক প্রকল্পগুলি সেট করতে, সাধারণ সম্পত্তিগুলির অধীনে সমাধান বৈশিষ্ট্য সংলাপে স্টার্টআপ প্রজেক্ট নোডটি নির্বাচন করুন। ডানদিকে আপনি Single startup projectএবং এর জন্য বিকল্পগুলি খুঁজে পাবেন Multiple startup projects। একাধিক প্রারম্ভিক প্রকল্পের রেডিও বোতামটি চয়ন করুন। তারপরে আপনার কৌণিক প্রকল্পের পাশের উপযুক্ত অ্যাকশনটি নির্বাচন করুন (এটি কৌনিক হওয়ার কারণে এটি ডিবাগিং ছাড়াই শুরু করুন এবং আপনি সম্ভবত এটি ব্রাউজারে ডিবাগ করবেন), তারপরে আপনার এপিআই প্রকল্পের পাশে শুরু নির্বাচন করুন।

এখন যখন আপনি রান করুন তখন আপনার অ্যাংুলার অ্যাপটি ব্রাউজারে খুলবে এবং ওয়েব এপিআইও চলতে শুরু করবে। আপনি আপনার ওয়েব এপিআই পদ্ধতিতে ব্রেক পয়েন্ট সেট করতে পারেন এবং এঙ্গুলার অ্যাপ্লিকেশন থেকে সেগুলি হিট করতে পারেন।


আমি এটি বৃত্তাকার করার চেষ্টা করেছি (ধরে নিলাম যে এটি কোনও পাঠ্যের প্রাচীরের চেয়ে ভাল আকারের হবে) তবে কয়েকটি ব্যর্থ চেষ্টা করার পরে আমি অনুচ্ছেদের সাথে চলে গেলাম।
মাইক দেবেনি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.