The simplest method is to just use Emacs’s Comint mode:
(defun node-repl () (interactive) (pop-to-buffer (make-comint "node-repl" "node" nil "--interactive")) (node-repl)
“The simplest way to have node.js (tested using node v0.8.1) as an inferior shell under Emacs is to use the js-comint package. Then, set
(setq inferior-js-program-command "node --interactive") to force node to run in interactive mode. The command
M-x run-js will then open the interpreter.” – http://stackoverflow.com/questions/8909836/how-to-run-node-js-interactively-in-emacs-on-windows
NOTE: tab-completion doesn’t work
Also tested on Win7, Emacs 24 and node.js 0.10.5. Size: 7KB
Check https://github.com/redguardtoo/js-comint for latest version. old version 0.0.1 has some compatibility issue with node.js
see SwankJs for details.
What are the advantages to using SwankJs?
There’s still no tab-completion.
There is a node.js mode. As of 2013-04-15 it has not been updated for Node.js 0.8 or later.
Question: But does it still work with newer versions of node.js ?
I tested this on 2013.04.29 with Win7, Emacs 24 and node.js 0.10.5. A shell is opened, once something is sent to node node is actually launched, but Emacs does not respond to any more input until I kill the node process externally.