기존 node.js REPL을 사용하여 자신이 직접 설정 한 사람이 있습니까? 나는 그것을하는 빠른 방법을 생각하지 않았다.node.js - 실시간 프로세스에 대한 평가
오늘 내가 그것을 할 방법은 이맥스이 사용하고 : https://github.com/ivan4th/swank-js
이 모듈로 구성됩니다 :
점액-JS 부가 이맥스에 JS2 모드와 함께하는, 당신은 단순히 데프 함수의 본문에 어딘가에 CMX를 발행 , 수 - 그리고 오프가에 함수의 문자열을 간다 ..
허풍-JS 서버 (예, c를 Node.js를 작성하여 로컬 컴퓨터 에서 직접 원격 프로세스에 울드의 평가 후면) - 그것은 당신이 eval'ed 함수의 문자열을 받아 실제로
다른 연결할 수 있도록하는 전체 부분을 evals 다음 브라우저로 해당 서버 의 포트와 당신이 (꽤 훌륭하지만 관련이 없습니다) 해당 브라우저 에 DOM을 조작 할 수 있습니다
'(내 솔루션 이맥스 측 점액-JS 사용하고 난 필요 swank- js ') 내 app.js 파일에
이제 .. 내 솔루션이나 다른 가능한 것들에 대한 몇 가지 문제와 질문을했다 :
Q1 : 그것을 무리이 있습니까? 누군가가 그의 라이브 프로세스에서 nano의 물건을 평가하는 비밀 방법이 있습니까?
Q2는 : 지금까지 내가, 그냥 복사 전역 변수에 대한 이해,
var Script = process.binding('evals').Script;
var evalcx = Script.runInContext;
....
this.context = Script.createContext();
for (var i in global) this.context[i] = global[i];
this.context.module = module;
this.context.require = require;
...
r = evalcx("CODECODE", this.context, "repl");
: 나는 ... 허풍-JS가 EVALing되는 방식을 변경했다가이 같은 마술의 일부 종류를 사용 새로운 컨텍스트 및 평가시 원래 함수를 변경하지 않습니다 정의 - SOOO ... "eval"과 IT를 그대로 사용하고 있습니다. WORKS.
의견에 대해 의견이 있으십니까?
Q3 : 함수를 다시 평가하려면 전역 함수 여야합니다. - 모든 함수 정의를 전역 (clojure 유사)으로 설정하는 것은 나쁜 습관입니까? 이것을 할 또 다른 방법이 있다고 생각합니까?
을 사실, 내가 매우 관심 이 질문도 마찬가지입니다. 나는 거기에서 흑 마술을 가지고 노는 것이 몇 가지 대답을 낳을 수 있다고 생각합니다. 나는 오늘 내가 무엇을 할 것인지를 안다! –