如何在Windows上的Emacs中交互运行node.js
how to run node.js interactively in Emacs on Windows
我认为这会起作用:
(defun my-node ()
(interactive)
(pop-to-buffer (make-comint "my-node" "node")))
但是,当我执行M-x my-node
并在comint缓冲区中输入1+1
时,它不会显示任何输出。
这是在Windows 7上的Emacs 24.0.50.1中,安装NodeJS时没有任何特殊配置。
像在M-x compile RET node hello-world.js RET
中那样以非交互方式调用node.js可以很好地工作。在cmd
中以交互方式运行node
效果良好。
这可能是相关的:当我运行M-x shell
并在shell缓冲区中输入node
,然后输入1+1
时,它不会显示结果。我一定错过了一些非常基本的东西。
更新:
可能相关:emacs/Python:在行缓冲模式与块缓冲模式下运行Python shell-堆栈溢出
将node.js(使用nodev0.8.1测试)作为Emacs下的下级shell的最简单方法是使用js-comint包。然后,将(setq inferior-js-program-command "node --interactive")
设置为强制节点在交互模式下运行。命令M-x run-js
将打开解释器。
类似地,您可以很容易地验证node --interactive
是否在eshell中工作。
来源http://www.gnu.org/software/emacs/windows/Sub_002dprocesses.html,看起来可能发生的情况是节点正在缓冲输出。如果有一个选项可以修改它的缓冲,您可以尝试传递它。
假设这是一个缓冲问题,可能还有另一种方法可以解决它,但我的windows知识还不够完整。I、 首先,我很想在windows平台上找到一个通用的解决方案,当它出现时,这是一个令人讨厌的问题。
我找到了一个解决方案。
制作一个节点脚本,用于启动JavaScript REPL接口。
node-in-node.js:
var repl = require("repl");
repl.start();
将"node-path''to''node-innode.js"传递给comint,而不是简单的"node"。
(defun my-node-shell ()
(interactive)
(pop-to-buffer (make-comint "Node Shell" "node" nil "C:''run''node-in-node.js")))
运行M-x my-node-shell
在Windows Emacs中运行JavaScript shell。我不知道为什么会这样。制表符完成、语法高亮显示、通过Shift+Enter进行的多行输入不起作用。
如果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)
js-comint
方式似乎效果更好。
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 使用压缩的JavaScript文件(不是运行时压缩)
- Javascript运行php文件,然后下载文件
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- 在Windows 10中自动执行例行程序(主要与浏览器交互)
- Angularjs代码未在匿名函数中运行
- jquery设置为使用参数运行
- 如何根据时间运行不同的脚本
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 将文本框链接到由按钮运行的javascript公式
- 我有可能让父Gruntfile.js在子Gruntfile.js上交互或运行任务吗
- 从web应用程序,如何在没有用户交互的情况下在客户端计算机上运行exe
- 如何在Windows上的Emacs中交互运行node.js
- 如何在长时间运行的服务器操作期间与用户交互(例如确认对话框)
- 我如何运行自己的代码与浏览器交互
- 使greasemonkey脚本与正在运行的进程交互
- 通过nodejs运行外部程序,通过socket.io与浏览器交互
- 两个Node服务器可以同时运行并交互吗,这样其中一个服务器就是为客户端服务的中介
- 有没有办法在iBooks中运行javascript而不需要用户交互?