Penso che il nodo eseguibile non consenta di combinare lo -i
con altri argomenti di file.
Questa probabilmente non è la soluzione che vorresti leggere. Tuttavia, questo ha funzionato per me. C'è un modulo chiamato REPL che fondamentalmente ti permette di farlo manualmente. Così, mi sono reso conto che avrei potuto creare un wrapper per qualsiasi tipo di file, come segue:
#!/bin/bash
COMMAND=$(cat <<EOF
(function(){
var repl = require('repl');
process.stdin.push('.load ${1}\n');
repl.start({
useGlobal:true,
ignoreUndefined:true,
prompt:'> '
});
})();
EOF
)
node -e "${COMMAND}"
Supponendo si chiama questo script nodejs
, allora posso chiamare questo script facendo qualcosa di simile
nodejs ./demo.js
Si inizia il REPL programmaticamente e carica lo script in esso. Questo sarebbe equivalente all'apertura manuale di una sessione REPL e quindi eseguire il comando .load <file>
.
fonte
2014-06-08 22:25:09
L'utilità della riga di comando del nodo ha anche un modificatore '-i' per entrare nella modalità interattiva (ad esempio REPL), ma non funziona se si passano altri argomenti, come un file che si desidera eseguire. –
Possibile duplicato di [esegui del codice e poi passa al nodo interattivo] (https://stackoverflow.com/questions/8549145/execute-some-code-and-then-go-into-interactive-node) – jpaugh