Categories: سایر

بسته‌بندی (Bundling) جاوا اسکریپت

باندلینگ یا بسته‌بندی یکی از مراحل توسعه در زبان جاوا اسکریپت است.

در توسعه مدرن جاوا اسکریپت، کد شما وابستگی زیادی به ماژول‌های جاوا اسکریپتی دیگر دارد که معمولا در مسیر node_modules ذخیره شده‌اند.

اما در نهایت مرورگر به چند فایل جاوا اسکریپت که همه نیازمندی‌های اپلیکیشن را شامل می‌شود نیاز دارد. بنابراین کد نوشته شده توسط شما و همه پیش نیازهای آن که در مسیر node_modules قرار دارد باید در چند فایل جاوا اسکریپت نهایی ذخیره شوند.

ابزارهای Bundling با همین منظور توسعه داده شده‌اند. برای مثال ابزار esbuild به صورت زیر کدها را بسته‌بندی می‌کند.

مثال برای ESBuild

کد شما که به پکیج‌های react و react-dom نیاز دارد را در نظر بگیرید:

npm install react react-dom

فایل app.jsx شامل کد زیر است:

import * as React from 'react'
import * as Server from 'react-dom/server'

let Greet = () => <h1>Hello, world!</h1>
console.log(Server.renderToString(<Greet />))

باندل کردن کد توسط esbuild:

./node_modules/.bin/esbuild app.jsx --bundle --outfile=out.js

این کد دیگر به مسید node_modules نیاز ندارد و همه چیز در فایل out.js قرار گرفته است. آن را توسط دستور node out.js اجرا کنید.

<h1 data-reactroot="">Hello, world!</h1>
admin

Recent Posts

انتقال تعداد و حجم بالای فایل بین سرورها

برای انتقال تعداد بالای فایل لازم است، انتقال به صورت موازی راه مناسبی است. یک…

3 سال ago

رفع مشکل تحریم npm

برای دور زدن رجیستری تحریم شده npm می‌توانید از رجیستری‌های جایگزین مانند https://iranrepo.ir/#npm استفاده کنید.…

3 سال ago

رفع مشکل تحریم داکر

سرویس داکر در ایران به دلیل تحریم، در دسترس نیست. به این صورت که هنگام…

3 سال ago

فایل سیستم توزیع‌شده چیست؟ معرفی چند پروژه متن باز فایل سیستم توزیع شده

یک فایل سیستم توزیع شده (DFS)، هر فایل سیستمی است که امکان دسترسی به فایل‌ها…

3 سال ago

بیت کوین چگونه به کسب و کار شما کمک می‌کند؟

بیت کوین همانند طلا کاربرد ذخیره ارزش دارد. مردم بیت کوین را با هدف حفظ…

4 سال ago

ایجاد نموارد توالی با استفاده از نرم افزار ویزیو (Create a UML sequence diagram with Visio)

نمودار توالی UML نشان می‌دهد که چگونه مجموعه‌ای از اشیاء در طول زمان در یک…

4 سال ago