资产清单文件 "manifest.json" 不存在

Asset manifest file "manifest.json" does not exist

在 symfony5 + webpack encore 应用程序上,我无法访问控制器中图像的 url。

Webpack 正在运行,我访问了 twig 中的 img。 (带版本控制) manifest.json 文件存在,我已经构建了资产

 $package = new Package(new JsonManifestVersionStrategy('C:\wamp64\www\svn\athena\public\build\manifest.json'));
 echo $package->getUrl('build/images/tree/families.png');

=> 这是使用清单的直接文件地址。

但是 :

  $package = new Package(new JsonManifestVersionStrategy('manifest.json'));

$package = new Package(new JsonManifestVersionStrategy( '/build/manifest.json'));

=> 我有 symfony 异常:资产清单文件“manifest.json”不存在。

如何使 manifest.json 文件地址成为相对地址? 谢谢

assets.yaml

framework:
    assets:
        json_manifest_path: '%kernel.project_dir%/public/build/manifest.json'

嗯,路径是 supposed to be absolute...

您可以注入 Packages 服务,它将自动配置:

use Symfony\Component\Asset\Packages;

public function controllerAction(Packages $packages) 
{
    $url = $packages->getUrl('build/images/tree/families.png');
}