Что будет экспортировать файл JavaScript / Node.JS? - PullRequest
0 голосов
/ 02 февраля 2020

Я следую учебнику 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);

1 Ответ

2 голосов
/ 02 февраля 2020
Файл

Node.js экспортирует объект exports. В этом примере этот объект будет состоять из двух полей: cors и corsWithOptions, с соответствующими значениями, которые были в их назначениях.

Я предполагаю, что ваш вопрос относится к ситуации, когда этот файл сохраняется как cors.js. Таким образом, файл, который импортирует этот файл через var cors = require('./cors'), фактически назначит тот же самый объект exports в переменную cors.

Чтобы проиллюстрировать, будет ли это код в файле импорта:

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

Тогда это будет его вывод:

{ cors: [Function: corsMiddleware],
  corsWithOptions: [Function: corsMiddleware] }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...