Hydrogen 升到 React Router 7 报错怎么迁
现象#
升级到 2026-10 后 npm run dev 直接报 Cannot find module '@remix-run/react';改完 import 又提示 hydrogen 不是合法 Vite 插件,shopify hydrogen dev 也不存在了。
原因#
- 2026-10 起 Hydrogen 是普通库,hydrogen dev/build 命令与插件都被移除
- Remix 与 React Router 7 包名不同,@remix-run 系列要整体换成 react-router
- 旧代码从 load context 取 storefront,新版改为 context.get 后调 graphql()
- 所有 React Router 包必须同版本,混用 7.9 与 7.15 会报 context 类型不匹配
处理步骤#
- 看
package.json:存在@remix-run/*说明框架迁移与 Hydrogen 迁移都要做 - 卸载旧包,安装
react-router与@react-router/dev,版本保持完全一致 - scripts 改为
vite dev与react-router build,删掉 shopify hydrogen dev - Vite 配置换成
reactRouter()加...oxygen(),删除 hydrogen() 插件 - 根中间件调
handleShopifyRoutes(),让它接管 /checkout 与 /api/cart
验收标准#
npm run build 产出 dist/client 与 dist/server,npm run dev 下首页、商品页、购物车都正常。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。