সিডিএন ব্যবহারের বিষয়টি হ'ল এটি দ্রুততর , প্রথমত, কারণ এটি একটি বিতরণযোগ্য নেটওয়ার্ক, তবে দ্বিতীয়ত, কারণ স্থির ফাইলগুলি ব্রাউজারগুলি দ্বারা ক্যাশে হচ্ছে এবং সম্ভাবনাগুলি বেশি যে উদাহরণস্বরূপ, সিডিএন এর jquery
লাইব্রেরি যা আপনার সাইট ব্যবহারগুলি ইতিমধ্যে ব্যবহারকারীর ব্রাউজার দ্বারা ডাউনলোড করা হয়েছিল এবং তাই ফাইলটি ক্যাশে করা হয়েছিল, এবং তাই কোনও অপ্রয়োজনীয় ডাউনলোড হচ্ছে না। যে হচ্ছে বললেন, এটি এখনও একটি ভাল ধারণা একটি ফলব্যাক প্রদান ।
এখন, বুটস্ট্র্যাপের এনপিএম প্যাকেজটির পয়েন্ট
এটি মডিউল হিসাবে বুটস্ট্র্যাপের জাভাস্ক্রিপ্ট ফাইল সরবরাহ করে । উপরে উল্লিখিত হিসাবে, এটি ব্রাউসরিফাই ব্যবহার করে এটিটিকে সম্ভব করে তোলে যা সম্ভবত ব্যবহারের ক্ষেত্রে এবং যেমনটি আমি বুঝতে পেরেছি, এনপিএমে বুটস্ট্র্যাপ প্রকাশের মূল কারণ।require
এটি কিভাবে ব্যবহার করতে
নিম্নলিখিত প্রকল্প কাঠামো কল্পনা করুন:
প্রকল্পের
| - নোড_মডিউলস
| - প্রকাশ্য
| | - সিএসএস
| | - img
| | - জেএস
| | - সূচক। html
| - package.json
আপনার মধ্যে index.html
আপনি উভয় css
এবং js
এই জাতীয় ফাইল রেফারেন্স করতে পারেন :
<link rel="stylesheet" href="../node_modules/bootstrap/dist/css/bootstrap.min.css">
<script src="../node_modules/bootstrap/dist/js/bootstrap.min.js"></script>
কোনটি সহজ উপায় এবং .css
ফাইলগুলির জন্য সঠিক । তবে bootstrap.js
ফাইলটি কোথাও আপনার public/js/*.js
ফাইলগুলিতে অন্তর্ভুক্ত করা আরও ভাল :
var bootstrap = require('bootstrap');
এবং আপনি কেবলমাত্র সেই javascript
ফাইলগুলিতে এই কোডটি অন্তর্ভুক্ত করেন যেখানে আপনার প্রকৃত প্রয়োজন bootstrap.js
। ব্রাউজারফাই আপনার জন্য এই ফাইলটি অন্তর্ভুক্ত করার যত্ন নেয়।
এখন, অসুবিধাটি হ'ল আপনার এখন আপনার ফ্রন্ট-এন্ড ফাইলগুলি node_modules
নির্ভরতা হিসাবে রয়েছে এবং node_modules
ফোল্ডারটি সাধারণত চেক ইন হয় না git
। আমি মনে করি এটি অনেক বিতর্কিত অংশ, অনেকগুলি মতামত এবং সমাধান সহ ।
মার্চ 2017 আপডেট করুন
আমি এই উত্তরটি লেখার প্রায় দুই বছর কেটে গেছে এবং একটি আপডেটের জায়গায় রয়েছে।
এখন সাধারণভাবে গ্রহণযোগ্য উপায় ব্যবহার করা bundler মত webpack একটি build ধাপে আপনার সকল সম্পদ বান্ডেল করতে (বা পছন্দের অন্য bundler)।
প্রথমত, এটি আপনাকে ব্রাউজারিফাইয়ের মতো কমনজ সিনট্যাক্স ব্যবহার করতে দেয়, যাতে আপনার প্রকল্পে বুটস্ট্র্যাপ জেএস কোড অন্তর্ভুক্ত করতে আপনি একই কাজ করেন:
const bootstrap = require('bootstrap');
css
ফাইলগুলির হিসাবে , ওয়েবপ্যাকটি " লোডার " বলেছে । তারা আপনাকে আপনার জেএস কোডে এটি লেখার অনুমতি দেয়:
require('bootstrap/dist/css/bootstrap.css');
এবং সিএসএস ফাইলগুলি আপনার বিল্ডটিতে "ম্যাজিকালি" অন্তর্ভুক্ত থাকবে। <style />
আপনার অ্যাপটি চললে এগুলিকে গতিশীলভাবে ট্যাগ হিসাবে যুক্ত করা হবে , তবে আপনি আলাদা css
ফাইল হিসাবে রফতানি করতে ওয়েবপ্যাকটি কনফিগার করতে পারেন । আপনি ওয়েবপ্যাকের ডকুমেন্টেশনে সে সম্পর্কে আরও পড়তে পারেন।
উপসংহারে.
- আপনার অ্যাপ্লিকেশন কোডটি একটি বান্ডেলারের সাহায্যে "বান্ডিল" করা উচিত
node_modules
গিটের জন্য আপনার গতিবদ্ধভাবে নির্মিত ফাইলগুলিও প্রতিশ্রুতিবদ্ধ করা উচিত নয় । আপনি build
এনপিএম-তে একটি স্ক্রিপ্ট যুক্ত করতে পারেন যা সার্ভারে ফাইল মোতায়েনের জন্য ব্যবহার করা উচিত। যাইহোক, আপনার পছন্দসই বিল্ড প্রক্রিয়াটির উপর নির্ভর করে এটি বিভিন্ন উপায়ে করা যেতে পারে।