I have a script
foo.js that contains some functions I want to play with in the REPL.
Is there a way to have node execute my script and then jump into a REPL with all the declared globals, like I can with
python -i foo.py or
There is still nothing built-in to provide the exact functionality you describe. However, an alternative to using
require it to use the
.load command within the REPL, like such:
It loads the file in line by line just as if you had typed it in the REPL. Unlike
require this pollutes the REPL history with the commands you loaded. However, it has the advantage of being repeatable because it is not cached like
Which is better for you will depend on your use case.
Edit: It has limited applicability because it does not work in strict mode, but three years later I have learned that if your script does not have
'use strict', you can use
eval to load your script without polluting the REPL history:
var fs = require('fs'); eval(fs.readFileSync('foo.js').toString())
i always use this command
node -i -e "$(< yourScript.js)"
works exactly as in Python without any packages.