tarik02 / assets-manifest

0.2.2 2023-05-11 11:46 UTC

This package is auto-updated.

Last update: 2024-09-11 14:41:37 UTC


README

安装说明

$ composer require tarik02/assets-manifest

用法

应该与webpack-assets-manifest 插件一起使用。

推荐的插件配置

new WebpackAssetsManifest({
    output: 'manifest.json',
    contextRelativeKeys: true,
    transform: ({ entrypoints, ...assets }) => ({ mode, entrypoints, assets }),
    writeToDisk: false,
    fileExtRegex: /\.\w{2,4}\.(?:map|gz)$|\.\w+$/i,
    publicPath: '',
    entrypoints: true
})
use Tarik02\AssetsManifest\ManifestLoader;

$assets = ManifestLoader::from('/path/to/project/public/assets')
    ->load('https://example.test/public/assets')
);

Laravel 框架示例(将此代码添加到 AppServiceProvider::boot

$this->app->singleton(
    'assets',
    fn () => ManifestLoader::from(public_path('assets'))
        ->load(url('assets'))
);

// ...

app('assets')->url('img/image.png'); // http://example.test/assets/img/image.deadbeef.png

app('assets')->path('img/image.png'); // /path/to/project/public/assets/img/image.deadbeef.png


$entrypoint = app('assets')->entrypoints->include('app', 'second-page');

$entrypoint->jsCode(); // <script src="..."></script><script src="..."></script>
$entrypoint->cssCode(); // <link rel="stylesheet" href="..."><link rel="stylesheet" href="...">