本地环境下Shopify Hydrogen搭建执行yarn dev报错
通过销售渠道安装并克隆仓库,使用yarn安装所有依赖包后,执行yarn dev时持续出现以下错误:
StorefrontClient: 服务器环境建议使用私有店铺前端令牌。详情请参考认证文档。
ReferenceError: URL is not defined.
Attempted to access binding using global in modules.
You must use the 2ndenvparameter passed to exported handlers/Durable Object constructors, orcontext.envwith Pages Functions.
at EventTarget.get (/Users/fred/Projects/chalestore/node_modules/@miniflare/core/src/standards/event.ts:291:19)
at handleRequest (/Users/fred/Projects/chalestore/node_modules/@remix-run/server-runtime/dist/esm/server.js:28:15)
at /Users/fred/Projects/chalestore/node_modules/@shopify/remix-oxygen/src/server.ts:5:8
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at Object.fetch (/Users/fred/Projects/chalestore/server.js:55:24)
at EventTarget.[kDispatchFetch] (/Users/fred/Projects/chalestore/node_modules/@miniflare/core/src/standards/event.ts:385:13)
at /Users/fred/Projects/chalestore/node_modules/@shopify/mini-oxygen/dist/mini-oxygen/server.js:114:24
- 规范环境变量访问:别用
globalThis、window这类全局变量取环境变量,严格按Oxygen要求来——在导出的handler/Durable Object构造函数里用第二个env参数,或者在Pages Functions里用context.env。 - 升级Node.js:确保用Node.js 18.x及以上版本,旧版本可能缺
URL全局对象的支持,升级后再跑yarn dev试试。 - 重置依赖包:删掉项目里的
node_modules文件夹和yarn.lock文件,重新执行yarn install,解决依赖版本冲突问题。 - 核对令牌配置:第一条是警告但也别忽略,确认私有店铺前端令牌配置正确,避免因配置问题触发后续报错。
内容的提问来源于stack exchange,提问作者Fred Osei

