【问题标题】:How to connect Frontend ReactJs Project Folder with NodeJs Backend?如何将前端 ReactJs 项目文件夹与 NodeJs 后端连接起来?
【发布时间】:2021-12-01 12:40:30
【问题描述】:

我有一个包含加密组合的 React Web 应用程序,现在我想将它与后端 server.js 连接。部署的 Web 应用程序应设置为从节点服务器开始。我对 NodeJS 还很陌生,但我尝试过诸如 cors 之类的解决方案。

我是节点的新手,任何人都可以帮我将我的 React 文件夹连接到后端节点文件夹。我将不胜感激。

在反应中,我也进行了生产构建,但没有成功。

这是 Server.js 代码:

const express = require('express');
const cors = require('cors');
const path = require('path');

app.use(express.json({ extended: false }));

app.use((req, res, next) => {
  res.header('Access-Control-Allow-Origin', '*');
  res.header(
    'Access-Control-Allow-Headers',
    'Origin, X-Requested-With, Content-Type, Accept'
  );
  next();
});
if (process.env.NODE_ENV === 'production') {
  //static folder
  app.use(express.static('client/build'));
  app.get('/', (req, res) => {
    res.sendFile(path.resolve(__dirname, 'client', 'build', 'index.html'));
  });
}

现在我在服务器中遇到错误

connot GET /

前端Github项目链接:https://github.com/Twelve03/crypto-portfolio

【问题讨论】:

  • 可以分享一下启动命令吗?
  • 我从节点 server.js 启动服务器
  • 你给app.listen()打过电话吗?

标签: javascript node.js reactjs express


【解决方案1】:

如果您使用代码启动服务器 app.listen(3000); 而且还是不行,那你可能要设置环境变量NODE_ENV=production你可以这样 NODE_ENV=production node server.js

更好的做法是将所有环境变量保存在.env 文件中,然后使用dotenv 包从.env 文件中读取环境变量

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-19
    相关资源
    最近更新 更多