Nodejs来自不同文件的函数列表
我正在尝试创build一个应用程序和文件夹结构是这样的:
./ index.js options/ basic.js help.js
选项文件夹中的js文件将具有如下所示的对象:
ping = { info: 'text', fn: function() {} }
我希望index.js能够做类似的事情
var options = require('./options'); options['ping'].fn();
我如何导出/要求使它像这样工作? 我的企图是徒劳的。
我希望能够在没有像ES这样的JS编译器的情况下做到这一点
您可以在您的options
文件夹内创build一个index.js
文件,该文件夹导出所有同级模块。
module.exports = { ping: require('./help.js'), // Assuming your "ping" object is here. other: require('./basic.js') };
在选项文件夹中的JS文件(比如说filename.js
)中使用module.exports
:
module.exports = { info: 'text', fn: function() {} };
然后,要消耗你的模块:
var options = require('./options/filename.js'); options.fn();
这是NodeJS原生支持模块的CommonJS方法。
如果不使用其他工具,您将无法require
文件夹,因为require
在文件级别运行。
从NodeJS的文档 :
Node.js有一个简单的模块加载系统。 在Node.js中,文件和模块是一一对应的(每个文件被视为一个单独的模块)。
这是一个很好的文章,了解更多: https : //www.sitepoint.com/understanding-module-exports-exports-node-js/