【问题标题】:Shopware 6 : How to debug administration plugins?Shopware 6:如何调试管理插件?
【发布时间】:2022-12-17 04:52:14
【问题描述】:
我目前对 Shopware 6 感到绝望 - 我编写了一个插件,可以向管理中添加一个菜单项,并可以创建职位发布。
不幸的是,管理中某处隐藏了一个 JavaScript 错误。理论上是的,没问题,因为使用命令...
bin/watch-adminstration.sh
...Shopware 应该生成源地图,这使调试对我来说更容易。问题是:源地图丢失了。
所以退一步说:您究竟如何调试管理以及您在哪里看到源地图?
我希望有人有解决方案,缺少 Shopware 的文档真的让我很不安。
【问题讨论】:
标签:
vue.js
webpack
shopware
shopware6
【解决方案1】:
很高兴知道您正在使用什么设置来实现管理员监视。 I & Shopware 推荐使用 dockware.io docker 镜像进行开发。您可以阅读他们的文档以获取更多详细信息。他们在 /var/www/ 文件夹中也有一个 Makefile,可以运行以查看管理员。这是它的作用:
watch-admin: ## starts watcher for Shopware 6.4.13.0 Admin at http://localhost:8888
cd /var/www/html && ./bin/build-administration.sh
cd /var/www/html && php bin/console bundle:dump
cd /var/www/html && php bin/console feature:dump
cd /var/www/html && APP_URL=http://0.0.0.0 PROJECT_ROOT=/var/www/html APP_ENV=dev PORT=8888 HOST=0.0.0.0 ENV_FILE=/var/www/html/.env ./bin/watch-administration.sh
如您所见,它在与正常端口不同的端口上启动了 Admin。
以下是此类设置的示例 docker-compose 文件:
version: '3'
services:
shop:
container_name: shop
image: dockware/dev:latest
ports:
- "22:22" # ssh
- "80:80" # apache2
- "443:443" # apache2 https
- "8888:8888" # watch admin
- "9998:9998" # watch storefront proxy
- "9999:9999" # watch storefront
- "3306:3306" # mysql port
#volumes:
# - "./src:/var/www/html"
# - "./src:/var/www/html/custom/plugins"
networks:
- web
environment:
- XDEBUG_ENABLED=0
## ***********************************************************************
## NETWORKS
## ***********************************************************************
networks:
web:
external: false
启动后只需 SSH 到 docker 容器,cd .. && make watch-admin。然后转到http://localhost:8888,这应该会加载管理页面,其中包含在检查器工具中可见的源映射。