什么会导出 JavaScript/Node.JS 文件?

What will export a JavaScript/Node.JS file?

我正在学习 NodeJS 教程,我看到了以下代码,我不明白这个模块将导出什么以及当 he/she 执行 [=13] 时有人会在 cors 中得到什么=]?

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

const whitelist = ['http://localhost:3000', 'https://localhost:3443'];
var corsOptionsDelegate = (req, callback) => {
    var corsOptions;
    console.log(req.header('Origin'));
    if(whitelist.indexOf(req.header('Origin')) !== -1) {
        corsOptions = { origin: true };
    }
    else {
        corsOptions = { origin: false };
    }
    callback(null, corsOptions);
};

exports.cors = cors();
exports.corsWithOptions = cors(corsOptionsDelegate);

Node.js 文件导出 exports 对象。 在此示例中,此对象将包含两个字段:corscorsWithOptions,它们各自的值与分配中的值相同。

我假设你的问题是指这个文件保存为cors.js的情况。 因此,通过 var cors = require('./cors') 导入此文件的文件实际上会将相同的 exports 对象分配给 cors 变量。

为了说明,如果这是导入文件中的代码:

var cors = require('./cors');
console.log(cors)

那么这将是它的输出:

{ cors: [Function: corsMiddleware],
  corsWithOptions: [Function: corsMiddleware] }