Moodle中聚合H5P资源的含义是什么?关闭该配置有何影响?
$CFG->mod_hvp_aggregate_assets 配置项作用说明
这个是Moodle H5P活动模块(mod_hvp)的隐藏配置项,未写入官方公开示例配置的原因是属于调试用的可选参数,默认值为1(开启状态):
- 值为
1时,H5P插件会自动将所有内容类型依赖的JS、CSS资源合并为少量聚合文件,减少HTTP请求数,优化H5P内容的加载速度 - 值为
0时,会关闭资源聚合功能,所有H5P依赖的资源会按照依赖顺序单独加载
你之前遇到的Unable to find constructor for: H5P.CoursePresentation报错,本质是Moodle 3.11.2配套的H5P插件版本的资源聚合逻辑存在兼容bug:合并资源时要么漏了CoursePresentation内容类型的构造函数代码,要么是合并后打乱了依赖加载顺序,导致执行时找不到对应类。关闭聚合后资源按原生依赖顺序加载,自然就修复了报错问题。
修改配置的影响说明
这个配置的作用范围仅限H5P活动模块,不会影响Moodle核心功能和其他非H5P模块的运行,可能产生的负面影响只有两处:
- H5P内容的加载性能会有所下降,单页存在多个H5P资源时会产生更多HTTP请求,加载耗时会变长,高访问量站点的感知会更明显
- 如果站点之前针对H5P聚合资源做了自定义缓存规则,关闭聚合后需要调整缓存策略适配零散的独立资源文件,否则可能出现缓存命中率降低的问题
后续如果升级Moodle和H5P插件到最新稳定版,可尝试删除该配置恢复默认聚合逻辑,高版本已经修复了绝大多数资源聚合的兼容bug。
内容的提问来源于stack exchange,提问作者Naynay
相关产品推荐
相关产品推荐

