好的,我还没有完全理解在Node中要求模块的最佳方法,这些模块将在几个js文件之间共享。例如:如果我有一个主app.js
和另外两个文件:routes1.js
和routes2.js
包含app.js
中所需的(主要)导出路由。
我认为如果我需要,我们都同意 - 例如 - UnderscoreJs。我只是在需要它的每个文件中重复这行代码。
var _ = require('underscore');
但是公开函数/构造函数的模块怎么样,如下所示:
var email = require('powerdrill')('YOURAPIKEY');
如果我在每个文件中重复此代码,我最终得到了三个powerdrill对象实例,对吧?虽然这很好但我不能帮助感觉这是对的。
或者如果我只是想在少量文件中要求它,那么它的完全可行和精细?
问题:对于那些一直在使用Node一段时间并且对您需要的方式感到满意的所有人。你是如何解决"案例2上面?也许没有正确的方法,但一点指导将不胜感激。
答案 0 :(得分:1)
您可以编写自己的通用模块并将其包含在内。虽然,我更喜欢你已经做过的事情,但我认为这是一个品味问题。
这是在没有测试的情况下编写的,因此它可能不是正确的方法。也许你会得到一些想法:
// utils.js
// ======== define the module
var myEmail = require('powerdrill')('YOURAPIKEY');
module.exports = {
email: myEmail
};
// app.js
var utils = require('./utils');
utils.mail.useIt();
这样,我认为每个需要utils.js的人都会使用相同的myEmail实例。