服务器端或客户端 API 调用?

Server side or Clint side API call?

如果您使用 React.js,拨打 API 电话的最佳方式是什么?例如,如果我试图从 google 本书 API 中获取一些书籍数据,我应该在客户端使用 React.js 还是在服务器端执行此操作。为什么在一侧做比在另一侧做更好?谢谢

你可以这样做。

const express = require('express');
const app = express();
const path = require('path');
const fs = require('fs');
const proxy = require('http-proxy-middleware');

app.use(
  '/api',
  proxy({
    target: 'http://api.books.com',
    changeOrigin: true,
    ws: true,
    pathRewrite: { '^/api': '' },
  })
);

const index = fs.readFileSync(path.resolve('./build', 'index.html'), { encoding: 'utf-8' });

app.get('*', (req, res) => {
  res.contentType('text/html').send(index);
});

const server = app.listen(3000, function() {
  const host = server.address().address;
  const port = server.address().port;

  console.log('The server is running at http://%s:%s/', host, port);
});

并像这样调用(抛出代理),以免 CORS 出现问题或之后更换服务器。

fetch('/api/get-books')