yii2-framework/inertia-vue 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱: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
  • 点击次数: 8
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

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

其他信息

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

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固