运行Shopify Node模板应用时无法初始化API库,如何解决?
解决Shopify Node模板初始化缺失配置的错误
这个错误明确指出Shopify API库初始化时缺少apiSecretKey、hostName、apiKey、scopes这几个必填配置项,按以下步骤解决:
获取Shopify应用凭证
登录Shopify合作伙伴后台,找到你的目标应用,在「API密钥」页面复制API key和API secret key。配置环境变量
在项目根目录创建或编辑.env文件,添加以下内容(替换为你的实际值):SHOPIFY_API_KEY=你的API密钥 SHOPIFY_API_SECRET=你的API密钥密码 SHOPIFY_APP_URL=https://你的应用公开域名(本地开发用ngrok生成的HTTPS地址) SHOPIFY_API_SCOPES=read_products,write_products,read_orders(按需添加权限范围)注意:本地开发不能用
localhost,必须用ngrok等工具生成的公开HTTPS地址作为SHOPIFY_APP_URL。验证配置读取逻辑
检查项目中的shopify.js文件,确保它从环境变量中正确加载配置,示例代码如下:import { shopifyApp } from '@shopify/shopify-app-express'; import { restResources } from '@shopify/shopify-api/rest/admin/2024-04'; import 'dotenv/config'; // 确保加载.env文件 const shopify = shopifyApp({ api: { apiKey: process.env.SHOPIFY_API_KEY, apiSecretKey: process.env.SHOPIFY_API_SECRET, scopes: process.env.SHOPIFY_API_SCOPES.split(','), hostName: new URL(process.env.SHOPIFY_APP_URL).hostname, restResources, }, // 其他应用配置 });如果使用ESM模块,必须通过
dotenv/config加载环境变量,否则process.env无法读取.env中的值。重启应用服务
保存所有修改后,重启nodemon或Node服务,让新配置生效。
内容的提问来源于stack exchange,提问作者Filipe Ferminiano
相关产品推荐
相关产品推荐

