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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了什么将导出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);
答案

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

以上是关于什么将导出JavaScript / Node.JS文件?的主要内容,如果未能解决你的问题,请参考以下文章

Node.js第二篇:模块化开发

Node.js基础:第二篇

在 node.js 的帮助下在服务器上运行 three.js,将模型导出为 json 并通过 ajax 加载给最终用户

Node.js 组合来自多个文件的模块/导出

node.js 的模块化开发规范

从 Node.js 中的模块导出函数的语法是啥?