问题描述
在symfony5 + Webpack Encore应用程序上,我无法在控制器中访问图像的URL。
Webpack正在运行,我访问了树枝中的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');
}