如何开始一个shopify app插件开发

1,先看文档内容,app的cli,说明得很清晰了,跟着文档内容步骤去操作
https://shopify.dev/docs/apps/build/scaffold-app

2,在开发时候,需要在本地开发,然后再上传,这里也看有本地开发的文档,跟随文档操作
https://shopify.dev/docs/apps/build/cli-for-apps/networking-options
这里的本地开发的网络选项有三个选项,应该选哪个?网络上已经有很多文档三个都有具体的操作步骤,可以多翻一下其他的文档记录

三个选项我都测试过:
Cloudflare 快速隧道:这个相对来说操作会复杂一点,但是成功后,重新打开就不需要更变域名(后面补充这个隧道)

基于本地主机的开发:这个一直没有ssl证书给我,所以这个失败,网络上,这个选择的记录也比较少

自带隧道:这个看起来复杂,但是是相对来说看的文档内容没有那么多,跟着2里面的文档链接步骤走就好,但是每次开启都需要更改隧道域名

这里以选项三——自带隧道的方法进行记录
在这里插入图片描述
我将详细解说上面步骤内容:

步骤1,2,3,就不多说了

步骤4,5,6出现的问题比较多点,重点关注一下

步骤4:

//在终端中,使用以下命令启动 ngrok。您也可以选择其他端口号
ngrok http 3000

这个3000端口是怎么来的,只是shopify给你的一个参考,一个默认;这个3000并非一定要固定,主要取决于你的电脑哪个端口没有被占用,使用哪个端口都可以,例如下面我选择3121端口。

下面开始跟着步骤4操作:在ngrok 中输入命令

ngrok http 3121

下图为命令后的结果,“本地”里面,端口为3121,并且ngrok也给你分配了一个共享网络,这个共享网络就是步骤5里面的内容,这个面板不用关闭,保持打开,不用管他就好
在这里插入图片描述
步骤6:

shopify app dev --tunnel-url=https://0695-162-216-231-189.ngrok-free.app:3121

步骤后的结果
在这里插入图片描述
端口上面变了,你打开图上的本地链接也是能打开的,打开shopify后台就链接不上了,先把端口固定为3121

在文件:shopify.web.toml添加代码

name = "remix"
roles = ["frontend", "backend"]
webhooks_path = "/webhooks/app/uninstalled"
port = 3121  //添加的代码内容(文字不要复制)

[commands]
predev = "npx prisma generate"
dev = "npx prisma migrate deploy && npm exec remix vite:dev"
 

这样就能固定住端口
这样,下次打开时候,端口就不会随机分发,固定为3121
重新输入命令,不用写端口了,因为端口已经被固定了

shopify app dev --tunnel-url=https://0695-162-216-231-189.ngrok-free.app

在这里插入图片描述
运行成功,端口也对应上,就完毕了

备注:每次重新启动ngrok 的时候,隧道路径(共享网络路径)都会改变,所以,步骤6里面的路径也需要对应上隧道路径(共享网络路径)

最后,可能有的开发者会遇到一个问题是:Handling response
在这里插入图片描述
这个问题,我在Cloudflare和自带隧道都遇到过,解决方案也一个一个的测试过,最后还是失败。最终,在一个帖子中找到一个愚蠢又有效果的解决方案:把时间日期校准
在这里插入图片描述
最后问题解决了。有的电脑需要打开两个开关,有的只需要打开一个开关。

如果这个方法不管用,请转移到shopify社区或其他社区寻找答案

补充:Cloudflare 快速隧道

这里启动app的顺序是:
1,固定shopify app的启动端口(上文有说如何固定)

2,启动隧道,因为我本地的端口是3121,所以这里使用3121

cloudflared tunnel --url http://localhost:3121

在这里插入图片描述
cloudflared 会自动分发一个网址给你,如果你启动命令失败,试试不使用vpn去启动,本人使用vpn启动都会被cloudflared 拒绝。
3,启动shopify app

shopify app dev --tunnel-url=https://xxxxxxx.trycloudflare.com:3121

至此,你的app则可以运行起来

ps:如果运行的是下面的命令,则需要做下面步骤

shopify app dev

4,把分发的网址填充到shopify.app.toml文件的

[auth]
redirect_urls = [
  "https://binary-cry-collected-ethiopia.trycloudflare.com/auth/callback",
  "https://binary-cry-collected-ethiopia.trycloudflare.com/auth/shopify/callback",
  "https://binary-cry-collected-ethiopia.trycloudflare.com/api/auth/callback"
]

5,把分发的网址填充修改到vite.config.js
这步有的需要做,有的不需要进行补充,主要看你在做完前面后是否能正常运行

export default defineConfig 
({
  server: {
    host: true,  //改动1
    allowedHosts: ['binary-cry-collected-ethiopia.trycloudflare.com'], //改动2,其他不用改
    cors: {
      preflightContinue: true,
    },
    port: Number(process.env.PORT || 3000),
    hmr: hmrConfig,
    fs: {
      // See https://vitejs.dev/config/server-options.html#server-fs-allow for more information
      allow: ["app", "node_modules"],
    },
  },
  //文件完整代码就不贴出来了,按上面改动1和2改动后查看

有些电脑的情况不太一样,所以最后还是需要根据个人电脑情况进行开发和运行命令,文章内容仅提供一个参考和方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_42456392

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值