【发布时间】:2018-10-03 14:26:15
【问题描述】:
我有一个关于 Symfony 3.4 中的 Encore 和资产版本控制的问题。
在我的webpack.config.js我有两种配置。
第一个用于 JS 文件,另一个用于编译 .less。
Encore.reset() 重置每个配置
输出包正在通过.enableVersioning 生成带有版本控制的清单,所以我有两个manifest.json in
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 入口点将两个清单合并为一个,但这可能很耗时。
除了结合manfiests或将js + less编译组合成一个大的Encore任务之外,还有其他解决方案吗?
【问题讨论】:
-
你能分享你的 webpack.config.js 吗?
-
@svantetic 你解决了吗?如果您这样做了,请分享您的解决方案以回馈社区。span>
-
@YahyaE 添加了答案
标签: symfony webpack manifest versioning