首页 > 解决方案 > 带有 reactjs 和 nodejs 的 Shopify 应用程序没有 nextjs?

问题描述

我正在开发一个 shopify 应用程序,因此 reactjs 处理 UI 部分,node-express 处理 shopify auth 事情。

shopify网站上的教程是

  1. 节点、反应和 nextjs
  2. 没有reactjs的节点和表达

我关心的是如何在没有 reactjs 服务器端渲染的情况下使用 nextjs 测试应用程序?

我们知道 node 和 react 运行一个单独的端口,那么我们如何使用 shopify 处理身份验证流程?

我的工作方式是

用户进入应用程序 -> 节点使用 shopify 进行身份验证 -> 如果身份验证成功 -> 显示反应应用程序。

更新:我正在使用 ant design,所以 ant design 的 ssr 会有所帮助。

任何人都请帮助我解决问题。

标签: node.jsreactjsshopifyantdshopify-app

解决方案


经过一些研究,我得到了一个简单的解决方案,我正在添加给我解决方案的链接。

  1. React App 在 3000 端口运行
  2. 节点服务器运行在 3001 端口
  3. 在客户端设置代理package.json到 localhost:3001

    {
        proxy: "localhost:3001"
    }
    
  4. 安装http-proxy-middleware

    $ npm install http-proxy-middleware --save $ # or $ yarn add http-proxy-middleware

  5. 接下来,创建src/setupProxy.js并在其中放置以下内容:

const proxy = require('http-proxy-middleware');

module.exports = function(app) {
  app.use(proxy('/api', { target: 'http://localhost:3001/' }));
};`

6. 仅此而已。

如果使用 ngrok 公开您的 localhost,您可能会收到Invalid Host Header错误消息。这是解决方案。

ngrok http 8080 -host-header="localhost:8080"
ngrok http --host-header=rewrite 8080

https://stackoverflow.com/a/45494621/1445874

这个 2 链接给了我解决方案。


推荐阅读