繁体   English   中英

将脚本预加载到节点交互模式

[英]Prereload script into node interactive mode

是否可以运行node.exe,将文本输入管道并继续进行交互式会话?

我想创建一个快捷方式bat(或bash)文件来编辑数据库。

通常这是我在做什么:

$ node

>var db=require('mydb')
>db.open('myserver')
>//Now I can start access the db
>db.query...

我想做这样的事情:

$ node -i perDefinedDb.js

>db.query(.... //I don't want to define the DB each time I run the node.exe

我尝试过这样的事情:

echo console.log(a) | node.exe

结果如下:

3

程序完成。 我想在将某些内容放入管道后继续执行节点REPL。


换句话说:我希望能够使用节点REPL中的数据库,而无需每次都定义它。

从您的js文件启动REPL,然后可以提供所需的上下文:

const repl = require('repl');
var db = require('mydb');
db.open('myserver');

repl.start('> ').context.db = db;

现在,您只需要运行此文件( node myREPL.js ),就可以照常进行REPL了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM