Inertia.js 开源项目教程

Inertia.js 开源项目教程

awesome-inertiajsA curated list of awesome Inertia.js resources项目地址:https://gitcode.com/gh_mirrors/aw/awesome-inertiajs

项目介绍

Inertia.js 是一个用于构建现代单页应用(SPA)的库,它允许开发者使用服务端框架(如 Laravel、Rails 等)来处理路由和控制器逻辑,同时在前端使用 Vue.js、React 等框架来渲染页面。Inertia.js 通过简单的 API 连接前后端,使得开发全栈应用变得更加高效和便捷。

项目快速启动

安装 Inertia.js

首先,确保你已经安装了 Node.js 和 Composer。然后,在你的 Laravel 项目中安装 Inertia.js 及其相关依赖:

composer require inertiajs/inertia-laravel
npm install @inertiajs/inertia @inertiajs/inertia-vue3

配置服务端

resources/views 目录下创建一个 app.blade.php 文件,作为 Inertia.js 的布局文件:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Inertia.js App</title>
    @vite('resources/js/app.js')
</head>
<body>
    <div id="app"></div>
</body>
</html>

app/Providers/AppServiceProvider.php 中注册 Inertia.js 中间件:

use Inertia\Middleware;
use Illuminate\Support\Facades\Route;

public function boot()
{
    $this->app->singleton(Middleware::class, function ($app) {
        return new Middleware($app['request']);
    });

    Route::middleware('web')
        ->group(function () {
            $this->loadRoutesFrom(__DIR__.'/../routes/web.php');
        });
}

配置客户端

resources/js 目录下创建一个 app.js 文件,初始化 Inertia.js:

import { createApp, h } from 'vue';
import { createInertiaApp } from '@inertiajs/inertia-vue3';

createInertiaApp({
    resolve: name => require(`./Pages/${name}`),
    setup({ el, App, props, plugin }) {
        createApp({ render: () => h(App, props) })
            .use(plugin)
            .mount(el)
    },
});

创建页面

resources/js/Pages 目录下创建一个 Welcome.vue 文件:

<template>
    <div>
        <h1>Welcome to Inertia.js</h1>
    </div>
</template>

<script>
export default {
    name: 'Welcome',
}
</script>

启动应用

运行以下命令启动开发服务器:

npm run dev
php artisan serve

访问 http://localhost:8000,你应该能看到 "Welcome to Inertia.js" 的页面。

应用案例和最佳实践

Ping CRM

Ping CRM 是一个演示应用,展示了如何使用 Laravel 和 Vue.js 构建一个完整的 Inertia.js 应用。它包含了用户认证、CRUD 操作等功能,是学习 Inertia.js 的最佳实践之一。

Laravel Jetstream

Laravel Jetstream 是一个官方的应用脚手架,集成了 Tailwind CSS、Inertia.js 和 Vue.js,提供了完整的用户认证和团队管理功能,适合快速启动新项目。

典型生态项目

Laravel Breeze

Laravel Breeze 是 Laravel 的官方认证脚手架,使用 Tailwind CSS 和 Inertia.js,提供了简单的用户认证功能,适合小型项目。

Laravel Jetstream React

Laravel Jetstream React 是一个基于 Laravel Jetstream 的变体,使用 React 代替 Vue.js,适合喜欢 React 的开发者。

通过以上教程,你可以快速上手 Inertia.js,并了解其典型应用和生态项目。希望你能通过 Inertia.js 构建出高效、现代的单页应用

awesome-inertiajsA curated list of awesome Inertia.js resources项目地址:https://gitcode.com/gh_mirrors/aw/awesome-inertiajs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陶影嫚Dwight

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值