idleberg/vite-manifest

Vite 清单文件的解析器

v1.1.0 2024-06-09 06:54 UTC

README

用于解析 Vite 清单文件的解析器。

License Version PHP Version Build

目录

安装

composer require idleberg/vite-manifest

使用

首先实例化此库公开的类,以便开始使用

new Manifest(string $manifestPath, string $baseUri, string $algorithm = "sha256");

参数

$manifestPath

类型: string

指定清单的路径。

$baseUri

类型: string

指定清单中资源的基本 URI。

$algorithm

类型: "sha256" |"sha384" |"sha512" | ":manifest:"
默认: "sha256"

指定用于散列资源的算法。这将在打印脚本或样式标签时用于 子资源完整性。您可以使用 ":manifest:"vite-plugin-manifest-sri 插件一起使用,该插件在构建时计算哈希并将其添加到清单中。

示例

use Idleberg\ViteManifest\Manifest;

$baseUrl = "https://idleberg.github.io";
$manifest = "path/to/manifest.json";

$vm = new Manifest($manifest, $baseUrl);

方法

getManifest()

使用: getManifest()

返回清单文件的内容作为 PHP 数组

getEntrypoint()

使用: getEntrypoint(string $entrypoint, bool $hash = true)

示例

$entrypoint = $vm->getEntrypoint("index.ts");

if ($entrypoint) {
    ["url" => $url, "hash" => $hash] = $entrypoint;
    echo "<script type='module' src='$url' crossorigin integrity='$hash'></script>" . PHP_EOL;
}

从清单中返回入口点

getImports()

使用: getImports(string $entrypoint, bool $hash = true)

返回清单中列出文件的导入项

示例

foreach ($vm->getImports("index.ts", false) as $import) {
    ["url" => $url] = $import;
    echo "<link rel='modulepreload' href='$url' />" . PHP_EOL;
}

getStyles()

使用: getStyles(string $entrypoint, bool $hash = true)

返回清单中列出文件的样式表

示例

foreach ($vm->getStyles("index.ts") as $style) {
    ["url" => $url, "hash" => $hash] = $style;
    echo "<link rel='stylesheet' href='$url' crossorigin integrity='$hash' />" . PHP_EOL;
}

许可协议

此作品许可协议为 MIT 许可协议