builtnoble/vite-php 问题修复 & 功能扩展

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

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

builtnoble/vite-php

最新稳定版本:v0.1.0

Composer 安装命令:

composer require builtnoble/vite-php

包简介

Use Vite with PHP templating engines like Twig, Plates, and Laminas View.

README 文档

README

Vite Manifest Reader for PHP

StyleCI

Laravel provides an excellent built-in Vite integration through its Vite class but, for developers working outside of Laravel’s ecosystem, there’s a gap.

This package aims to fill that gap, making it easy to integrate Vite into standalone PHP applications, micro-frameworks, or custom setups while keeping a clean and familiar workflow.

It reads Vite’s manifest.json file, resolves asset URLs, and outputs the correct <script> and <link> tags for both development and production environments.

While it can be used on its own, it’s primarily intended as a core utility for framework-agnostic Vite integrations — for example, as part of a Plates or Twig extension.

Usage

Install via composer:

composer require builtnoble/vite-php

Then, use it in your PHP code:

use Builtnoble\VitePHP\ViteFactory;
use Random\RandomException;

// Basic usage (standalone):
// Build a configured Vite instance and invoke it with an array of asset paths.
// Passing 'nonce' => null requests a generated nonce (may throw RandomException).
try {
    $vite = ViteFactory::make([
        'hotfile' => '/tmp/vite-dev-server',
        'buildDir' => 'dist',
        'publicPath' => 'public',
        'manifestFilename' => 'manifest.json',
        'integrityKey' => 'my_integrity_key',
        'nonce' => null, // pass null to generate a random nonce
    ]);

    // invoke Vite with an array of asset paths; the invokable returns the rendered tags/HTML
    echo ($vite)([
        'resources/css/app.css',
        'resources/js/app.js',
    ]);
} catch (RandomException $e) {
    // handle nonce generation failure
    throw $e;
}

// Advanced: provide a custom creator and attribute resolvers
$customCreator = function (): Builtnoble\VitePHP\Vite {
    $v = new Builtnoble\VitePHP\Vite();
    $v->setBuildDir('custom-dist');
    return $v;
};

$vite = ViteFactory::make([
    'scriptTagAttributesResolvers' => [
        // resolver receives (string $path, ?array $manifestEntry) and returns attributes
        function (string $path, array $entry = null): array {
            return ['defer' => true];
        },
    ],
    'styleTagAttributesResolvers' => function (string $path, array $entry = null): array {
        return ['media' => 'all'];
    },
], $customCreator);

// invoke with specific assets
echo ($vite)([
    'resources/js/app.js',
]);

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-11-05