javascript - Javascript - 在Emacs中,如何以交互方式运行node.js

95 1

我觉得这样可以


(defun my-node ()


 (interactive)


 (pop-to-buffer (make-comint"my-node""node")))



但是,当我在Comint Buffer中执行m-x my-node ,并且输入1+1时它不会显示任何输出,

这是在Windows 7上的Emacs 24.0.50.1中安装的NodeJS没有任何特殊配置。

调用node.js非交互式方式,如下所示 M-x compile RET node hello-world.js RET

这可能与:当我运行M-x shell,并且在shell缓冲区中输入node,然后输入1+1时,它不会显示结果,

时间: 原作者:

108 1

在Emacs下使用node.js (使用node v0.8.1测试)作为底层shell的最简单的方法是使用JS Comint包,然后,设置 (setq inferior-js-program-command"node --interactive") 强制node在交互模式下运行,命令M-x run-js会打开解释器。

同样你可以轻松地验证node--interactive works within an eshell。

原作者:
104 4

从http://www.gnu.org/software/emacs/windows/Sub_002dprocesses.html看来,似乎正在发生的事情是由node缓冲输出,如果有修改它的选项,你可以尝试传递。

可能还有另一种解决它的方法,假设它是缓冲问题,但是,我的Windows知识不能够够完全了解,我也喜欢在Windows平台上一般解决方案,这是一个令人烦恼的问题。

原作者:
106 1

我找到一个解决方案。

创建一个node脚本,它启动JavaScript REPL接口。

node-in-node.js :


var repl = require("repl");


repl.start();



将"node pathtonode-in-node.js "传递给make-comint而不是简单的使用"node "。


(defun my-node-shell ()


 (interactive)


 (pop-to-buffer (make-comint"Node Shell""node" nil"C:runnode-in-node.js")))



运行M-x my-node-shell以在Windows Emacs中运行JavaScript shell ,

原作者:
57 0

如果JS Comint对你不起作用你可以尝试试用


(defun node-repl () (interactive)


 (setenv"NODE_NO_READLINE""1") ;avoid fancy terminal codes


 (pop-to-buffer (make-comint"node-repl""node" nil"--interactive")))


(node-repl)



但是nodejs-repl包似乎工作得更好。

原作者:
...