首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >执行一些代码,然后进入交互节点

执行一些代码,然后进入交互节点
EN

Stack Overflow用户
提问于 2011-12-18 09:07:17
回答 7查看 28.1K关注 0票数 80

在node.js进入交互模式之前,有没有一种方法可以执行一些代码(在文件中或从字符串中,实际上并不重要)?

例如,如果我创建了一个脚本__preamble__.js,其中包含:

console.log("preamble executed! poor guy!");

用户输入node __preamble__.js,就会得到以下输出:

preamble executed! poor guy!
> [interactive mode]
EN

回答 7

Stack Overflow用户

发布于 2013-03-13 22:06:21

很老的问题但是..。

我相信,我正在寻找类似的东西,并发现了这一点。您可以打开REPL (在终端上输入node ),然后加载一个文件。像这样:.load ./script.js。按enter键,将执行文件内容。现在,在脚本中创建的所有内容(对象、变量、函数)都将可用。

例如:

// script.js
var y = {
    name: 'obj',
    status: true
};

var x = setInterval(function () {
    console.log('As time goes by...');
}, 5000);

在REPL上:

//REPL
.load ./script.js

现在你在REPL上输入并与“活动代码”交互。您可以使用console.log(y)clearInterval(x)

这会有点奇怪,因为“随着时间的推移……”保持每五秒(大约)出现一次。但是它会起作用的!

票数 113
EN

Stack Overflow用户

发布于 2011-12-18 09:19:39

您可以很容易地在Node软件中启动一个新的repl

var repl = require("repl");
var r = repl.start("node> ");
r.context.pause = pauseHTTP;
r.context.resume = resumeHTTP;

然后,您可以在REPL中调用pause()resume(),并直接执行函数pauseHTTP()resumeHTTP()。只要将您想要公开给REPL的context成员的内容赋值即可。

票数 30
EN

Stack Overflow用户

发布于 2016-03-28 01:18:40

这可以通过current version of NodeJS (5.9.1)来实现:

$ node -i -e "console.log('A message')"

-e标志对字符串求值,-i标志开始交互模式。

您可以在参考的pull request中阅读更多信息

票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8549145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档