Shopware 6:无Node.js时bin/build-administration.sh的生产替代方案咨询
生产环境无Node.js时让Shopware 6插件后台改动生效的方案
build-administration.sh的核心作用是将插件中src/Resources/app/administration目录下的Vue、JS源码编译为可直接被浏览器加载的压缩静态资源,该过程仅依赖Node环境,不需要生产环境参与编译。可按照以下步骤操作:
- 本地开发环境预编译资源
确保本地开发环境的Shopware核心版本与生产环境完全一致,完成所有插件改动后,先执行bin/console cache:clear清除本地缓存,再执行bin/build-administration.sh完成后台资源编译。编译完成后,插件对应的静态资源会输出到插件目录(默认路径为custom/plugins/<你的插件技术名称>/src/Resources/public/administration),不同Shopware小版本路径可能略有差异,以实际生成为准。 - 同步改动到生产环境
将插件的所有改动文件(包含编译后的src/Resources/public/administration目录、PHP代码、配置文件等)完整同步到生产环境的对应插件目录,不要遗漏编译后的静态资源文件。 - 生产环境执行无需Node的命令完成发布
依次执行以下仅需PHP环境即可运行的命令:bin/console assets:install:将插件静态资源发布到Web可访问的公共目录bin/console cache:clear:清除生产环境的旧后台资源缓存
执行完成后刷新后台页面,即可看到插件的最新改动效果。
- 注意事项:
- 必须保证本地编译环境的Shopware核心版本、PHP版本与生产环境完全匹配,若本地环境与生产差异较大,可使用和生产同版本的Docker镜像拉取代码后完成编译,避免出现资源不兼容、后台白屏等问题。
- 不要直接同步本地开发环境根目录下的全量
var/cache文件夹,避免将开发环境的数据库连接、配置缓存等敏感文件同步到生产环境。 - 若仅修改了插件的PHP逻辑、接口,未改动后台的Vue/JS代码,不需要执行编译步骤,直接同步PHP文件、清缓存即可生效。
内容的提问来源于stack exchange,提问作者NewUser06042021
相关产品推荐
相关产品推荐

