我有一个关于Symfony 3.4中Encore和静态资源版本控制的问题。
在我的webpack.config.js
文件中,我有两个配置。第一个用于JS文件,另一个用于编译.less文件。
每个配置都通过Encore.reset()进行重置。
输出的包会通过.enableVersioning
生成附带版本号的清单,因此我有两个manifest.json
文件。
web/js/manifest.json
web/stylesheets/manifest.json
根据文档,要通过清单方式加载我的资产,我需要在
config.yml
中声明它。 assets:
base_path: "%myapp.http.site_assets_suffix%"
stylesheets:
json_manifest_path: "%kernel.project_dir%/web/assets/stylesheets/manifest.json"
如果我想链接到webpack生成的
style.css
,我要使用以下代码:asset("stylesheets/style.css")
但是在我的应用程序中有两个清单文件,我认为由于两个Encore配置,这不能改变。
我尝试添加以下内容:
packages:
stylesheets:
json_manifest_path: "%kernel.project_dir%/web/assets/stylesheets/manifest.json"
js:
json_manifest_path: "%kernel.project_dir%/web/assets/js/manifest.json"
因为我在某处看到了这个,但很不幸,这完全行不通。
我曾经考虑过在上一个webpack入口点中将两个清单合并成一个,但这可能会耗费时间。
除了将清单合并或将JS + less编译合并成一个大的Encore任务之外,还有其他解决方法吗?