提前通知 / 向上连接器
PriorNotify模块用于通过UPWARD-PHP路由所有前端请求。
Requires
- php: ~7.3.0||~7.4.0
- liquid/liquid: ^1.4.8
- magento/framework: *
- magento/module-config: *
- magento/module-integration: 2.0.0
- magento/module-store: *
- magento/upward: *
- yireo/magento2-disable-service-worker-in-admin: ^0.0.2
README
Magento 2 UPWARD连接器是一个模块,用于将请求路由到UPWARD-PHP。此模块用PWA Studio店面应用程序替换默认的Magento前端主题。
在Magento Commerce Cloud中部署PWA Studio店面时,此模块用于保持Magento和店面代码在同一个服务器上。
安装
Magento 2 UPWARD连接器模块是官方PWA Studio文档中Magento Cloud部署步骤的一部分。
配置
Magento 2 UPWARD连接器具有额外的设置,可以在管理员区域中的以下位置进行配置
商店 > 配置 > 一般 > 网络 > UPWARD PWA配置.
一般配置
这是UPWARD过程的配置。
UPWARD配置文件
此配置是UPWARD-PHP服务器UPWARD配置文件的位置。建议您遵循系统特定的最佳实践,并使用环境变量或magento config:set
CLI命令设置此值。
您可以使用相对于您的Web根目录的路径或绝对路径作为此配置的值。
相对:fastcgi_param CONFIG__DEFAULT__WEB__UPWARD__PATH pwa/upward.yml
绝对:magento config:set -e web/upward/path /app/node_modules/@magento/venia-concept/dist/upward.yml
前端名称允许列表
此配置允许您指定一行分隔的要将请求转发到默认Magento主题的路径列表。
示例
contact
privacy-policy-cookie-restriction-mode
在此示例中,当访问者访问<Magento商店URL>/contact
或<Magento商店URL>/privacy-policy-cookie-restriction-mode
时,他们将进入由Magento渲染的页面,而不是店面应用程序。
Prerender.io配置
向上连接器模块中的Prerender.io支持允许您的网站向搜索引擎发送预渲染的静态HTML。
中间件层会检查每个请求是否来自爬虫,如果允许,则将其发送到预渲染服务。这些配置条目允许您配置要发送到Prerender.io的页面,以提供该页面的静态HTML版本。如果页面未配置为预渲染,则请求将继续使用正常的服务器路由。
测试预渲染页面
要查看爬虫如何看到预渲染页面,请将浏览器用户代理设置为Googlebot
并访问您的URL。您还可以在命令行上运行此操作,并将示例URL更改为您的店面URL
curl -A Googlebot https://www.example.com/ > page.html
有关在本地测试预渲染配置的更多信息,请参阅https://docs.prerender.io/test-it/。
解决部分渲染页面的故障
无法确定PWA页面何时完全加载。对于预渲染,可以在设置window.prerenderReady
标志之前强制预渲染等待预定义的超时时间。
将以下内容添加到运行时脚本中
window.prerenderReady = false; setTimeout(function () { window.prerenderReady = true; }, 1000 * 15);
有关更多信息,请参阅https://docs.prerender.io/test-it/。
服务工作者注意
请勿在您的PWA Studio店面和Magento 2管理后端之间共享相同的域名。这会导致当您同时在浏览器中打开店面和后台标签时,店面Service Worker拦截后端请求。如果您无法避免共享域名,请一次访问一个服务,或者为每个服务使用一个私密浏览会话。