需要一个文件,然后使用一个函数,而不显式地将所需文件用作命名空间

require a file, then use a function without explicitly using the required file as a namespace

本文关键字:一个 文件 命名空间 然后 函数      更新时间:2023-09-26

所以我有一个非常简单的问题。假设文件test.js具有以下内容: exports.epsilon = function () {return []}

然后我需要var t = require("./test")节点中的文件。我想直接使用函数epsilon,即epsilon(),而不需要通过t.epsilon()显式设置命名空间。

正确的方法是什么?

没有理由不能立即将模块的属性分配给变量:

var epsilon = require("./test").epsilon;
epsilon(); // to call it

只要epsilon函数不期望thisexports对象,这对于模块来说是一个奇怪的设计选择,这将完美地工作。