Nadal nie ma nic wbudowanego, które zapewniałoby dokładnie taką funkcjonalność, którą opisujesz. Jednak alternatywa dla używania require
go do używania .load
polecenia w REPL, na przykład:
.load foo.js
Ładuje plik wiersz po wierszu, tak jakbyś wpisał go w REPL. W przeciwieństwie do require
tego zanieczyszcza historię REPL za pomocą załadowanych poleceń. Ma jednak tę zaletę, że jest powtarzalny, ponieważ nie jest przechowywany w pamięci podręcznej require
.
To, co jest lepsze dla ciebie, zależy od twojego przypadku użycia.
Edycja: ma ograniczone zastosowanie, ponieważ nie działa w trybie ścisłym, ale trzy lata później dowiedziałem się, że jeśli twój skrypt nie ma 'use strict'
, możesz użyć eval
do załadowania skryptu bez zanieczyszczania historii REPL:
var fs = require('fs');
eval(fs.readFileSync('foo.js').toString())