0

来自 nodejs 的示例代码:

来自 JS1.js 的代码:

var js2=require("../../util");
var dataName="Billy";
function hello1(){
   js2.hello2("message");
}

来自 JS3.js 的代码:

var js2=require("../../util");
var dataName="Tom";
function hello3(){
   js2.hello2("message");
}

来自 JS2.js 的代码:

exports.hello2=hello2;
function hello2(arg1){
   console.log(arg1);
   //Here I need the data in global variable "dataName" of file JS1.js or JS3.js
}

我需要访问调用者 js 文件的全局变量。

4

1 回答 1

1

global所有模块在 node.js 中共享一个对象。所以在 JS1.js ...

global.dataName = "Billy";

...然后在 JS2.js 中:

console.log(global.dataName);

global然而,以这种方式使用通常被认为是糟糕的形式也就不足为奇了。除非您有特定的理由不希望 JS2 依赖于 JS1,否则最好将 JS2 导出dataName作为module.exports.

于 2012-10-30T12:07:24.677 回答