所以,我来自一个LAMP堆栈,所有这些新的js对我来说都是新的。
我为我的小应用程序编写了一个电子邮件发送模块,执行如下:
var emailer = require( '../../app/emailer.js');
emailer({
tplName : 'activationEmail',
tplVariables : {name:'john',activationLink:'bob'},
sendToEmail: 'john@gmail.com',
sendToName: 'John',
fromEmail : 'noReply',
subject: 'Activation email'
});
现在这个工作正常但是我不确定什么是更好的(因为我缺少一些基本的nodejs知识),如上运行或运行如下:
require( '../../app/emailer.js')({
tplName : 'activationEmail',
tplVariables : {name:'john',activationLink:'bob'},
sendToEmail: 'john@gmail.com',
sendToName: 'John',
fromEmail : 'noReply',
subject: 'Activation email'
});
正如您在此处所看到的,这是触发激活电子邮件,正在从护照模块中调用电子邮件模块。
我的问题,我应该'要求'将模块放入var中,然后再引用var,或者每次需要时都需要emailer模块..我不知道有什么区别..
NooB我知道,但我无法在谷歌找到一个可靠的答案。
提前致谢, 约翰
答案 0 :(得分:0)
不,将它存储在变量中没有任何好处,除非您不止一次使用该模块。
如果我正在编写一个非常短的nodejs项目,并且只需要使用一个模块一次,我常常不愿意将它存储在变量中,我只是做你做过的事情
但是,如果我知道我将重复使用该模块,那么我会将其存储起来,这样每次重复使用我的程序时,require
查找都不会减慢速度。
另外,如果我也在使用其他模块,我想在我的文件顶部声明所有内容,甚至是一次性模块。
var fs = require('fs'), // will use more than once
http = require('http'), // will use more than once
qr = require('qr-codes'), // will use more than once
ip = require('ip'); // will only use once
我认为它看起来更整洁。