首页 > 解决方案 > 什么会导出 JavaScript/Node.JS 文件?

问题描述

我正在关注一个 NodeJS 教程,我看到了以下代码,我无法理解这个模块会导出什么以及cors当他/她这样做时有人会得到什么var cors = require('./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);

标签: javascriptnode.jsimportcorsexport

解决方案


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] }

推荐阅读