如何将 Cors 添加到 PostGraphile

How to add Cors to PostGraphile

我正在尝试将 cors 添加到我在快速服务器中的 PostGraphile 路由。

app.use(
  postgraphile(process.env.DATABASE_URL || process.env.POSTGRES, ‘public’, {
  watchPg: true,
  graphiql: true,
  enhanceGraphiql: true,
  enableCors: true,
  }),
);

当我试图从邮递员那里调用路线时,我在 Access-Control-Allow-Origin 中得到 *(通配符)。

如何通过 Access-Control-Allow-Origin 添加到 return 的特定路由?

你可以在postgraphile之前使用cors中间件,并在选项中设置原点:

const cors = require('cors');
const { postgraphile } = require('postgraphile');

const options = {
    origin: 'https://your_origin',
};

app.use(cors(options));

// Enable pre-flight requests for all routes
app.options('*', cors(options));

app.use(
    postgraphile(process.env.DATABASE_URL || process.env.POSTGRES, ‘public’, {
    watchPg: true,
    graphiql: true,
    enhanceGraphiql: true,
    }),
);

这会将 Access-Control-Allow-Origin header 设置为 https://your_origin