راهنمای مدیریت دارایی‌ها (Assets)

این راهنما شما را با مراحل مدیریت دارایی‌ها در برنامه فینچ آشنا می‌کند. چه توسعه‌دهنده حرفه‌ای باشید یا تازه‌کار، فینچ ابزارهای قدرتمندی برای ساده‌سازی توسعه برنامه‌های سمت سرور ارائه می‌دهد.

دارایی چیست؟

در فینچ، دارایی‌ها فایل‌هایی هستند که در برنامه شما استفاده می‌شوند. این فایل‌ها می‌توانند JavaScript، CSS، تصاویر یا هر نوع فایل دیگری باشند. دارایی‌ها برای افزودن قابلیت، ظاهر و محتوا به برنامه شما به کار می‌روند.

نحوه استفاده از دارایی‌ها در Finch

فینچ راه ساده‌ای برای مدیریت دارایی‌ها در برنامه شما فراهم می‌کند. می‌توانید با متد addAsset دارایی‌ها را به برنامه خود اضافه کنید. مثال:

app.get(
  path: '/',
  index: (rq) async {
    rq.addAsset(Asset(path: '/path/to/your/asset.js', type: AssetType.js));
    rq.addAsset(Asset(path: '/path/to/your/asset.css', type: AssetType.css));
    return rq.renderString(text: 'سلام دنیا');
  },
);

ارائه فایل‌های ایستا

فینچ به شما اجازه می‌دهد فایل‌های ایستا مانند تصاویر، CSS و فایل‌های JavaScript را از پوشه public ارائه دهید. به طور پیش‌فرض، تمام فایل‌های موجود در پوشه public از طریق وب‌سرور قابل دسترسی هستند.

برای ارائه فایل‌های ایستا، کافی است آن‌ها را در پوشه public قرار دهید. برای مثال، اگر تصویری در مسیر public/images/logo.png داشته باشید، از طریق آدرس http://localhost:3000/images/logo.png قابل دسترسی خواهد بود.

سفارشی‌سازی پوشه عمومی

می‌توانید پوشه عمومی را با تنظیم ویژگی publicDir در FinchConfigs تغییر دهید:

final configs = FinchConfigs(
  publicDir: 'my_public',
);

دارایی در قالب‌ها

همچنین می‌توانید دارایی‌ها را در قالب‌های خود با استفاده از سینتکس {{ assets.js() }} اضافه کنید. مثال:

<!DOCTYPE html>
<html>
  <head>
    {{ assets.css() }}
  </head>
  <body>
    {{ assets.js() }}
    سلام دنیا
  </body>
</html>

نتیجه

نتیجه کد بالا یک صفحه HTML با محتوای زیر خواهد بود:

<!DOCTYPE html>
<html>
  <head>
    <link rel="stylesheet" href="/path/to/your/asset.css" />
  </head>
  <body>
    <script src="/path/to/your/asset.js"></script>
    سلام دنیا
  </body>
</html>

مثال

برای مشاهده مثال کامل، به پروژه example در مخزن فینچ مراجعه کنید.