什么会导出 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
对象。
在此示例中,此对象将包含两个字段:cors
和 corsWithOptions
,它们各自的值与分配中的值相同。
我假设你的问题是指这个文件保存为cors.js
的情况。
因此,通过 var cors = require('./cors')
导入此文件的文件实际上会将相同的 exports
对象分配给 cors
变量。
为了说明,如果这是导入文件中的代码:
var cors = require('./cors');
console.log(cors)
那么这将是它的输出:
{ cors: [Function: corsMiddleware],
corsWithOptions: [Function: corsMiddleware] }
我正在学习 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
对象。
在此示例中,此对象将包含两个字段:cors
和 corsWithOptions
,它们各自的值与分配中的值相同。
我假设你的问题是指这个文件保存为cors.js
的情况。
因此,通过 var cors = require('./cors')
导入此文件的文件实际上会将相同的 exports
对象分配给 cors
变量。
为了说明,如果这是导入文件中的代码:
var cors = require('./cors');
console.log(cors)
那么这将是它的输出:
{ cors: [Function: corsMiddleware],
corsWithOptions: [Function: corsMiddleware] }