假设我有以下javascript文件,其中包括全局变量和全局函数。如何才能最好地将它包含在带有express的节点j中?
var language = {
'English': 'English'
}
var a = 'string';
function start() {
return 'start';
}
var b = function() {
return 'start';
}
答案 0 :(得分:3)
node.js使用模块系统来包含文件。虽然您实际上可以在node.js中有意识地分配全局变量,但不建议这样做。您可以将函数包装在一个模块中,然后导出您想要公开的函数。希望使用这些函数的其他JS文件将在模块中require()
,并从返回的模块句柄引用函数。这是在node.js中的文件之间共享代码的推荐方法。
目前还不清楚你的模块应该做什么,但你可以导出两个这样的函数:
// module shared.js
function start() {
return 'start';
}
var b = function() {
return 'start';
}
module.exports = {
start: start,
b: b
};
然后,另一个模块可以像这样使用它:
// module main.js
var shared = require('./shared.js');
console.log(shared.b());
console.log(shared.start());