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

Shopware 6.5从插件转App开发:JS扩展未生效问题咨询

插件转App开发后JS未加载的核心原因

1. 资源加载逻辑彻底变更

插件模式下,Resources/public/administration/js下的压缩JS会被Shopware自动注入后台;但App模式完全不识别这个目录,所有前端代码必须通过Resources/app/administration/src/main.js作为入口,以ES模块化方式引入,旧插件的public目录资源不会被加载。

2. 组件重写的注册要求更严格

插件里用Component.override可以直接生效,但App模式下要满足两个条件:

  • sw-product-list-override/index.js的代码必须正确导出,且main.js的引入路径完全正确(注意大小写、层级,比如是否多写/少写了目录层级)
  • 重写操作必须在sw-product-list组件完成注册后执行,App的前端基于模块化打包,依赖顺序错误会导致override无效

3. 构建与激活流程不同

  • 执行build-administration.sh后,App的前端产物会打包到专属目录,而非插件的public目录,需要重新卸载并重新安装激活App,才能让新的前端资源生效,仅刷新后台页面没用
  • App的构建流程是将src目录下的源码打包成符合Shopware App规范的资源,旧插件的构建产物无法被App系统识别

4. 模板引入路径规则变化

插件里的twig模板相对路径写法在App模式下不适用,必须保证模板文件与组件代码在同一目录,且在override时的template路径要基于ES模块的导入规则来写,比如用./sw-product-list-override.twig这种相对当前index.js的路径

内容的提问来源于stack exchange,提问作者Codixio

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 10:27:04