You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何找不到entrypoints.json?Symfony+Webpack-Encore路径配置异常

解决Webpack Encore在Symfony中从public_html加载entrypoints.json的问题

你遇到的核心问题是:只配置了framework.assets.json_manifest_path,但Webpack Encore Bundle的entrypoints文件路径需要单独配置,默认它会指向public/build/entrypoints.json,所以即使你改了服务器文档根,它还是会去默认路径查找。

解决方案:配置Webpack Encore Bundle的entrypoints路径

在config/packages/webpack_encore.yaml文件中(如果没有就新建),添加以下配置:

webpack_encore:
    # 指定编译后资源的输出目录,Bundle会自动从这里读取entrypoints.json
    output_path: '%kernel.project_dir%/public_html/build'
    
    # 或者也可以直接指定entrypoints.json的完整路径(二选一即可)
    # entrypoints_json_path: '%kernel.project_dir%/public_html/build/entrypoints.json'

为什么之前的配置没用?

  • framework.assets.json_manifest_path是给Symfony原生的asset()函数用的,用来映射静态资源的哈希文件名;
  • 而Twig里的encore_entry_script_tags()、encore_entry_link_tags()这些函数是由@symfony/webpack-encore-bundle提供的,它的配置和原生assets系统是分开的,默认会读取public/build/entrypoints.json,所以必须单独指定路径。

验证配置是否生效

  1. 重启Symfony服务器(确保配置被加载):
symfony server:stop
symfony server:start --document-root=public_html
  1. 重新运行Webpack构建(确保entrypoints.json是最新的):
npm run build

这样Twig就能正确找到public_html/build/entrypoints.json文件了。

内容的提问来源于stack exchange,提问作者Dallas-Blue-Ant

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 09:15:59