使用reactjs和nodejs在没有nextjs的情况下购买应用程序?

问题描述 投票:0回答:1

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

shopify网站上的教程是

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

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

我们知道node和react在不同的端口上运行,那么我们如何使用shopify处理身份验证流程?

我的工作方式是

用户输入app - > Node使用shopify进行身份验证 - >如果身份验证成功 - > show react app。

更新:我正在使用蚂蚁设计,因此蚂蚁设计的ssr会有所帮助。

有人请帮我解决问题。

node.js reactjs shopify antd shopify-app
1个回答
0
投票

这不会太困难,您只需要使用Express / Node设置服务器端渲染,以便做出反应。 Next.js会自动为您节省时间,但如果您想自己动手,可以随时使用。

您可以按照本指南参考 - https://medium.com/bucharestjs/upgrading-a-create-react-app-project-to-a-ssr-code-splitting-setup-9da57df2040a

我会做一些自己的例子,因为我想做同样的事情。


0
投票

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

  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/' }));
};`

这就是全部。

如果使用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个链接给了我解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.