Symfony 如何在具有多个配置的情况下设置默认清单\u json\u路径?
我正在为多种配置设置一个项目。我知道,如果您想拥有多个json_manifest_路径,您需要修改config.yml,如下所示:Symfony 如何在具有多个配置的情况下设置默认清单\u json\u路径?,symfony,webpack-encore,Symfony,Webpack Encore,我正在为多种配置设置一个项目。我知道,如果您想拥有多个json_manifest_路径,您需要修改config.yml,如下所示: assets: base_urls: - "%cdn_url%" packages: project_1: json_manifest_path: '%kernel.project_dir%/web/build/project_1/manifest.json' projest_2: json
assets:
base_urls:
- "%cdn_url%"
packages:
project_1:
json_manifest_path: '%kernel.project_dir%/web/build/project_1/manifest.json'
projest_2:
json_manifest_path: '%kernel.project_dir%/web/build/project_2/manifest.json'
assets:
version: "%asset_version_generated%"
base_path: "/build"
<img src="{{ asset("build/desktop/images/background.png", 'project_1') }}" />
<img src="{{ asset("build/images/background.png") }}" />
然后你像这样称呼你的资产:
assets:
base_urls:
- "%cdn_url%"
packages:
project_1:
json_manifest_path: '%kernel.project_dir%/web/build/project_1/manifest.json'
projest_2:
json_manifest_path: '%kernel.project_dir%/web/build/project_2/manifest.json'
assets:
version: "%asset_version_generated%"
base_path: "/build"
<img src="{{ asset("build/desktop/images/background.png", 'project_1') }}" />
<img src="{{ asset("build/images/background.png") }}" />
TL;博士
我如何在config.yml中设置默认的json_manifest_路径,如果我调用资产时没有第二个参数,该路径将成为目标?我使用EventListener whitch listen for onKernelController执行了类似的操作,并添加了必要的资产包,如下所示:
$strategy = new JsonManifestVersionStrategy(
$this->parameterBag->get('kernel.project_dir').'/public/build/'.$your_project_n.'/manifest.json'
);
$this->assetPackages->setDefaultPackage(new Package($strategy));
那么您根本不需要指定asset函数的第二个参数
类似地,您可以动态添加默认包,并将其余的硬编码保留在配置文件中