আমার এনপিএমের ব্যবহার হ'ল মিনিফাইড / অগ্লিফাইড সিএসএস / জেএস উত্পন্ন করা এবং জাঙ্গো অ্যাপ্লিকেশন দ্বারা পরিবেশন করা পৃষ্ঠাগুলিতে প্রয়োজনীয় জাভাস্ক্রিপ্ট তৈরি করা। আমার অ্যাপ্লিকেশনগুলিতে, জাভাস্ক্রিপ্ট অ্যানিমেশনগুলি তৈরি করতে পৃষ্ঠায় চালিত হয়, কিছু সময় অ্যাজাক্স কল করে, একটি ভ্যু ফ্রেমওয়ার্কের মধ্যে কাজ করে এবং / অথবা CSS এর সাথে কাজ করে। যদি প্যাকেজ-লক.জসনের প্যাকেজ.জসনে যা আছে তার কিছুটা ওভাররাইডিং নিয়ন্ত্রণ থাকে, তবে এই ফাইলটির একটি সংস্করণ থাকা প্রয়োজন। আমার অভিজ্ঞতায় এটি হয় এনপিএম ইনস্টল দ্বারা ইনস্টল করা কোনটি প্রভাবিত করে না, বা এটি যদি হয় তবে এটি আমার জ্ঞানের উপরে নিযুক্ত অ্যাপ্লিকেশনগুলিকে বিরূপ প্রভাবিত করে না। আমি মোংডব বা অন্যান্য অ্যাপ্লিকেশনগুলি ব্যবহার করি না যা traditionতিহ্যগতভাবে পাতলা ক্লায়েন্ট।
আমি রেপো থেকে প্যাকেজ-লক.জসনটি অপসারণ করি কারণ এনপিএম ইনস্টল এই ফাইলটি উত্পন্ন করে এবং এনপিএম ইনস্টল অ্যাপ্লিকেশনটি চালিত প্রতিটি সার্ভারে স্থাপন করা প্রক্রিয়াটির অংশ। নোড এবং এনপিএমের সংস্করণ নিয়ন্ত্রণ প্রতিটি সার্ভারে ম্যানুয়ালি করা হয় তবে আমি সতর্কতা অবলম্বন করি যে সেগুলি একই হয়।
যখন npm install
সার্ভারে চালানো হয়, তবে পরিবর্তনটি প্যাকেজ-lock.json, এবং যদি সেখানে যে সার্ভারে রেপো দ্বারা নথিভুক্ত করা হয় একটি ফাইলে পরিবর্তন, পরবর্তী প্রয়োগের আপনি মূল থেকে নতুন পরিবর্তনের টান করার অনুমতি দেয় অভ্যস্ত। এটিই আপনি মোতায়েন করতে পারবেন না কারণ টানাটি প্যাকেজ-লক.জসনে যে পরিবর্তনগুলি হয়েছে সেগুলি ওভাররাইট করে।
এমনকি আপনি স্থানীয়ভাবে উত্পাদিত প্যাকেজ-লক.জসনকে রেপোতে থাকা কী দিয়ে পুনরায় ওভাররাইট করতে পারবেন না (হার্ড আদি মাস্টার পুনরায় সেট করুন) যেমন এনএমপি অভিযোগ করবে যখন আপনি কোনও আদেশ দেবেন যদি প্যাকেজ-লক.জেসন এতে রয়েছে তা প্রতিফলিত না করে এনডিএম ইনস্টলের কারণে নোড_মডিউলগুলি, এইভাবে মোতায়েনের বিরতি। এখন যদি এটি সূচিত করে যে নোড_মডিউলগুলিতে কিছুটা ভিন্ন সংস্করণ ইনস্টল করা হয়েছে, যা আবার কখনও আমার সমস্যার কারণ হয় না।
যদি নোড_মডিউলগুলি আপনার রেপোতে না থাকে (এবং এটি হওয়া উচিত নয়) তবে প্যাকেজ-লক.জসন উপেক্ষা করা উচিত।
যদি আমি কিছু মিস করছি তবে দয়া করে মন্তব্যে আমাকে সংশোধন করুন, তবে এই ফাইলটি থেকে সংস্করণটি নেওয়া হয়েছে তা বোঝা যায় না। ফাইল প্যাকেজ.জসনের এতে সংস্করণ নম্বর রয়েছে এবং আমি ধরে নিচ্ছি এনপিএম ইনস্টল যখন ঘটে তখন প্যাকেজগুলি তৈরি করতে এই ফাইলটি ব্যবহার করা হয়েছিল, যখন আমি এটি সরিয়ে দেই, এনপিএম ইনস্টলটি নীচে অভিযোগ করে:
jason@localhost:introcart_wagtail$ rm package.json
jason@localhost:introcart_wagtail$ npm install
npm WARN saveError ENOENT: no such file or directory, open '/home/jason/webapps/introcart_devtools/introcart_wagtail/package.json'
এবং বিল্ডটি ব্যর্থ হয়, তবে নোড_মডিউলগুলি ইনস্টল করার সময় বা জেএস / সিএসএস তৈরি করতে এনপিএম প্রয়োগ করার সময়, আমি প্যাকেজ-লক.জসন সরিয়ে দিলে কোনও অভিযোগ করা হবে না
jason@localhost:introcart_wagtail$ rm package-lock.json
jason@localhost:introcart_wagtail$ npm run dev
> introcart@1.0.0 dev /home/jason/webapps/introcart_devtools/introcart_wagtail
> NODE_ENV=development webpack --progress --colors --watch --mode=development
10% building 0/1 modules 1 active ...
git log
মোকাবেলা করতে সহজ করে তোলে ।