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

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

我想创build一个快捷方式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 

程序完成。 我想在pipe道进入后继续节点REPL。


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

从你的js文件启动REPL,你可以给你想要的上下文:

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

现在你只需要运行这个文件( node myREPL.js ),你可以像往常一样REPL。