브라우저에서 실행하면 "창"개체에 연결된 모든 항목이 자동으로 전역 개체가됩니다. Nodejs와 비슷한 객체를 만들려면 어떻게해야합니까?Nodejs에서 "window"객체를 에뮬레이트하는 방법은 무엇입니까?
mySpecialObject.foo = 9;
var f = function() { console.log(foo); };
f(); // This should print "9" to console
브라우저에서 실행하면 "창"개체에 연결된 모든 항목이 자동으로 전역 개체가됩니다. Nodejs와 비슷한 객체를 만들려면 어떻게해야합니까?Nodejs에서 "window"객체를 에뮬레이트하는 방법은 무엇입니까?
mySpecialObject.foo = 9;
var f = function() { console.log(foo); };
f(); // This should print "9" to console
당신이 process
대신 window
글로벌 물건을 첨부 할 수 있습니다 당신은 그 목적을 위해 미리 정의 된 개체 global
를 사용할 수 있습니다. foo
을 global
개체의 속성으로 정의하면이 개체는 이후 사용되는 모든 모듈에서 사용할 수 있습니다. 예를 들어
는 app.js :
exports.bar = function() {
console.log(foobar);
}
global
객체이기 때문에 당신이 var
키워드를 사용하지 않는 확인하십시오
var http = require('http');
var foo = require('./foo');
http.createServer(function (req, res) {
//Define the variable in global scope.
global.foobar = 9;
foo.bar();
}).listen(1337, '127.0.0.1');
그리고 foo.js에
이미 정의되어 있습니다.설명서는 http://nodejs.org/api/globals.html#globals_global을 확인하십시오.
하지만 브라우저 자바 스크립트와 달리 전역 객체는 단어의 의미에서 진정으로 전역 적이 지 않습니다. 그것들은 여전히 자바 스크립트 파일 인 모듈에 대해 로컬입니다. 즉, 파일의 전역 객체에 첨부 된 것은 다른 파일에서 사용할 수 없으므로 특수한'module.exports' 객체에 첨부해야합니다. nodejs가 어떻게 작동하는지 더 많은 정보를 확인하십시오. –
답변 및 통지 주셔서 감사합니다. 나는이 간단한 해결책을 찾았다 : var mySpecialObject = global. 브라우저 (전역 범위) : mySpecialObject = this. –
GLOBAL 개체를 사용할 수 있습니다. 당신이 (터미널에서 실행중인 노드에 자바 스크립트를 모두 웹 콘솔을 비교한다면
var mySpecialObject = this; // Run this at global scope
나는이 간단한 해결책에 왔어요) :
window
< ->global
(참고 : GLOBAL i 현재 실행중인 프로그램 과정)
window.wgSiteName
(보여 랜덤 기능) 노드 (터미널
) :>process
(주 global.url
document
< 웹 콘솔에서
)는 지원되지 않습니다 s의 웹 콘솔의
: 노드 (터미널)의 document.title
: process.title
:
var mySpecialObject = global;
일반 브라우저에서 :
fruit = 'banana';
console.log(GLOBAL.fruit); // prints 'banana'
var car = 'volks';
console.log(GLOBAL.car); // prints undefined
"창"과 비슷한 특수 오브젝트를 만들고 싶습니다. "foo"를 첨부하면 "foo"를 전역으로 만듭니다. –