相关疑难解决方法(0)

代理不适用于反应和节点

我设置的代理有问题。

这是我的根 package.json 文件:

"scripts": {
    "client": "cd client && yarn dev-server",
    "server": "nodemon server.js",
    "dev": "concurrently --kill-others-on-fail \"yarn server\" \"yarn client\""
}
Run Code Online (Sandbox Code Playgroud)

我的客户端 package.json 文件:

"scripts": {
    "serve": "live-server public/",
    "build": "webpack",
    "dev-server": "webpack-dev-server"
},
"proxy": "http://localhost:5000/"
Run Code Online (Sandbox Code Playgroud)

我已经在我的服务器端设置了 express 在端口 5000 上运行。每当我向服务器发出请求时,即:

callApi = async () => {
    const response = await fetch('/api/hello');
    const body = await response.json();
    // ... more stuff
}
Run Code Online (Sandbox Code Playgroud)

请求总是转到

指向 http://localhost:8080/api/hello 的标头图片

有人可以指出我必须做些什么来解决这个问题,以便请求实际上转到端口 5000?

proxy node.js reactjs webpack package.json

33
推荐指数
7
解决办法
3万
查看次数

× React - fetch('/') 不会命中 Express.router 中的索引路由

我使用过 Express,但对 React 还很陌生。我已经将 React 连接到一个可以工作的 Express 服务器,但在进入fetch('/')我的主要 React App 组件以命中 Express 应用程序中的索引路由时遇到问题。例如我在 Express 中有这些路线:

app.use('/', routes);
app.use('/users', users);
Run Code Online (Sandbox Code Playgroud)

Express 中的两条路线相同。他们对 MongoDB 进行了简单的调用,响应是res.json(data)。此外,当我在 Express 端口上纯粹测试这些路由时,它们都工作正常。

下面是我的 React 组件。问题是当我尝试使用Express 中的fetch('/')相应内容时app.use('/', routes);它不起作用。如果我把它改成fetch('/users')它就可以了。

import React, { Component } from 'react';
import './App.css';

class App extends Component {
  state = {users: []}

  componentDidMount() {
    fetch('/') // this route doesn't work with Express!
      .then(res => res.json())
      .then(users => this.setState({ users }));
  }

  render() {
    return …
Run Code Online (Sandbox Code Playgroud)

javascript mongodb node.js express reactjs

5
推荐指数
1
解决办法
2252
查看次数

是否可以将 html get 请求从 create-react-app 代理到 /graphql?

我有一个 create-react-app 应用程序,我通过添加以下内容启用了代理:

"proxy": "http://localhost:3001",
Run Code Online (Sandbox Code Playgroud)

到我的 package.json。这适用于对 /graphql 的 API 请求,但是当 Web 浏览器请求 /graphql(用于加载 UI 以运行查询)由前端处理而不是代理时。是否也可以代理它?

当我尝试通过访问https://localhost:3000/auth/facebook进行 OAuth 时,会发生同样的事情,前端处理它而不是后端。

proxy create-react-app

2
推荐指数
1
解决办法
316
查看次数