定制 yii2-framework/inertia-vue 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

yii2-framework/inertia-vue

最新稳定版本:0.1.0

Composer 安装命令:

composer require yii2-framework/inertia-vue

包简介

Vue adapter helpers for yii2.

README 文档

README

Yii Framework

Inertia Vue


PHPUnit Mutation Testing PHPStan

Vue adapter helpers for yii2-extensions/inertia
Vue-friendly root view and Vite asset integration for Yii2 Inertia applications

Features

Feature Overview

Overview

yii2-extensions/inertia-vue is a thin PHP-side adapter package for building Vue-based Inertia applications on top of yii2-extensions/inertia.

This package does not install npm dependencies for you. Instead, it provides:

  • a Vue-specific bootstrap class for Yii2;
  • a default root view that outputs Vite tags plus the initial Inertia page payload;
  • a Vite helper component for development-server and manifest-driven production assets;
  • documentation and conventions for the application-owned Vue client entrypoint.

Installation

composer require yii2-extensions/inertia-vue:^0.1

Register the Vue bootstrap class:

return [
    'bootstrap' => [
        \yii\inertia\vue\Bootstrap::class,
    ],
    'components' => [
        'inertiaVue' => [
            'class' => \yii\inertia\Vite::class,
            'baseUrl' => '@web/build',
            'devMode' => YII_ENV_DEV,
            'devServerUrl' => 'http://localhost:5173',
            'entrypoints' => [
                'resources/js/app.js',
            ],
            'manifestPath' => '@webroot/build/.vite/manifest.json',
        ],
    ],
];

Use only yii\inertia\vue\Bootstrap::class in the bootstrap list. It already delegates the base yii2-extensions/inertia bootstrap.

Vue client entrypoint

Install the client-side dependencies in your application project:

npm install vue @vitejs/plugin-vue @inertiajs/vue3 vite

Then create your client entrypoint, for example resources/js/app.js:

import { createApp, h } from "vue";
import { createInertiaApp } from "@inertiajs/vue3";

createInertiaApp({
  resolve: (name) => {
    const pages = import.meta.glob("./Pages/**/*.vue", { eager: true });
    return pages[`./Pages/${name}.vue`];
  },
  setup({ el, App, props, plugin }) {
    createApp({ render: () => h(App, props) })
      .use(plugin)
      .mount(el);
  },
});

Development mode

When devMode is true, the Vite helper bypasses the production manifest and emits @vite/client plus each entrypoints script pointing at devServerUrl. Vue HMR is carried natively by @vite/client together with @vitejs/plugin-vue; no extra preamble is needed.

Run the Vite dev server and the Yii2 application side by side:

# Terminal 1 — Vite dev server
npm run dev

# Terminal 2 — Yii2 in dev mode
YII_ENV=dev ./yii serve

See Development Notes for the full HMR workflow, CORS notes, and troubleshooting.

Production asset integration

This package expects a Vite manifest file generated with build.manifest = true. In production it will render:

  1. style sheet tags for the entrypoint chunk and its imported chunks;
  2. module entry scripts for each entrypoint;
  3. optional modulepreload tags for imported JavaScript chunks.

Documentation

For detailed configuration options and advanced usage.

Package information

PHP Yii 22.0.x Latest Stable Version Total Downloads

Quality code

Codecov PHPStan Level Max Super-Linter StyleCI

License

License

统计信息

  • 总下载量: 1.35k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 11
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: BSD-3-Clause
  • 更新时间: 2026-04-03