احمد نادری

توسعه دهنده فول استک

author
author

احمد نادری

توسعه دهنده فول استک

Inertia.js ابزار کمکی لاراول برای ساخت اپلیکیشن تک صفحه ای

Inertia js به ما کمک می کنه تا بدون پیچیدگی زیاد دو فریم ورک سمت سرور و فرانت رو به هم وصل کنیم . این ابزار یک کتابخونه نیست و فقط نقش متصل کننده رو داره !

این ابزار(لینک) در حال حاضر 3 آداپتور سمت کلاینت React, Vue.js, and Svelte و 2 آداپتور سمت سرور Laravel و Rails رو پشتیبانی میکنه.

در لاراول ورژن های جدیدتراز ۸  برای ساخت یک برنامه SPA میتونیم از inertia.js استفاده کنید.این کار با پکیجی با نام Laravel Jetstream انجام میشه که حتی به راحتی View های احراز هویت رو هم برامون پیاده سازی میکنه.  با این ابزار به جای استفاده ازبلید های لاراولی از کامپوننت های جاوا اسکریپتی(vuejs) استفاده میکنیم.

برای نصب این پکیج در پروژه لاراولی :

composer require laravel/jetstream
php artisan jetstream:install inertia
npm run dev

داکیومنت کتابخانه در این لینک موجوده .

اگر در هنگام run کردن به مشکل برخورید به احتمال زیاد مشکل از تداخل ورژن ها هست . بهتره که یکبار پوشه node_modules رو پاک کنید و قبل از runیکبار npm install رو بزنید .

بعد از نصب برای ساخت روت جدید و ارجاع آن به فایل کامپوننتش کافیه مثل زیر عمل کنید :

Route::get('/', HomeController::class);
use Inertia\Inertia;
use Illuminate\Foundation\Application;
use Illuminate\Support\Facades\Route; 

public function __invoke(Request $request)
    {
            return Inertia::render('Welcome', [
                'canLogin' => Route::has('login'),
                'canRegister' => Route::has('register'),
                'laravelVersion' => Application::VERSION,
                'phpVersion' => PHP_VERSION,
            ]);
    }

در ابتدا یک فایل روت به صورت invoke میسازیم و بعد با ارجاع به کنترلر در اونجا به فایل ویو پاسش میدیم . اسم فایل ویو فقط اسم خود فایل هست نه آدرس اون یعنی مثلا فقط welcome .

درباره من
  • سلام به وب سایت من خوش اومدید ! از سال 1388 که وارد دنیای برنامه نویسی شدم تجربیات خودم رو از پروژه های مختلف به دست آوردم و همیشه سعی کردم تا مهارت های فنی و رفتاری خودم رو ارتقا بدم تا بتونم برای خودم و سازمانی که در آن کار می کنم بهترین باشم . من عاشق یادگیری هستم و همیشه از چالش های جدید هیجان زده میشم چون اونارو کلید موفقیت و رشد خودم می دونم.
  • @ahmadnaderi01
arrow