MST

星途 面试题库

面试题:Node.js中解决HTTP服务跨域问题之CORS实现

在Node.js的HTTP服务中,如何通过CORS(跨域资源共享)来解决跨域问题?请描述具体的实现步骤,并给出一段简单的Node.js代码示例(使用Express框架)。
39.4万 热度难度
前端开发Node.js

知识考点

AI 面试

面试题答案

一键面试

实现步骤

  1. 安装 cors:在项目目录下运行 npm install cors 安装 cors 中间件。
  2. 引入 cors 并应用中间件:在你的 Node.js 应用中,引入 cors 模块,并将其作为中间件使用。
  3. 配置 cors 选项(可选):可以根据需求配置 cors 的各种选项,比如允许的源、方法、头信息等。

代码示例

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

// 使用cors中间件,默认配置允许所有来源跨域
app.use(cors());

// 定义一个简单的路由
app.get('/api/data', (req, res) => {
    res.json({ message: 'This is some data from the server' });
});

const port = 3000;
app.listen(port, () => {
    console.log(`Server running on port ${port}`);
});

上述代码中,首先引入了 expresscors 模块。然后通过 app.use(cors()) 使用了 cors 中间件,这样就允许所有来源的跨域请求。接着定义了一个简单的路由 /api/data,当访问该路由时会返回一段 JSON 数据。最后启动服务器监听在 3000 端口。