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

问题描述

在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');
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...