节点js中的全局变量和函数

时间:2016-02-09 02:13:12

标签: javascript node.js express

假设我有以下javascript文件,其中包括全局变量和全局函数。如何才能最好地将它包含在带有express的节点j中?

var language = {
    'English': 'English'
}

var a = 'string';

function start() {
    return 'start';
}

var b = function() {
    return 'start';
}

1 个答案:

答案 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());