引数なしでコマンドラインからnode
を実行すると、対話シェルが入力されます。いくつかのコマンドを実行し、ノードを終了し、ノードを再起動すると、上向きの矢印は何もしません(前のコマンドをスクロールしたいと思います)。セッション間にノードのコマンドライン履歴を保存する方法はありますか?
ノードを対話的に呼び出す方法はありますか?古いコマンドを覚えていますか?
引数なしでコマンドラインからnode
を実行すると、対話シェルが入力されます。いくつかのコマンドを実行し、ノードを終了し、ノードを再起動すると、上向きの矢印は何もしません(前のコマンドをスクロールしたいと思います)。セッション間にノードのコマンドライン履歴を保存する方法はありますか?
ノードを対話的に呼び出す方法はありますか?古いコマンドを覚えていますか?
rlwrapを使用して、node.js REPLコマンドを履歴ファイルに格納することができます。
まず、rlwrapをインストールします(apt-getやbrewなどのパッケージマネージャで簡単に実行できます)。
次にノードの別名を追加します。私はOSX上だ
alias node='env NODE_NO_READLINE=1 rlwrap node'
ので、私は私の~/.bash_profile
ファイルにそのエイリアスを追加し、source ~/.bash_profile
を経由して、私のbash_profileファイルをリロードするだろう...と私は行ってもいいよ!
希望すると便利です。
私は問題を解決素敵な小さなプロジェクトで、見つかった:
は、NPM(npm install -g repl.history
) を使用してインストールし、コマンドラインでrepl.history
を実行します。
このメソッドは、レプリカの色とタブ補完を保持します。わーい! –
@SamH編集は、元の回答を変更または拡張するものではありません。文法、スペル、書式などを明確にすることのみを目的としています。編集した投稿の所有者ではなく、編集者がコミュニティによって承認されていることがあります。提案がある場合、それらはコメントまたは自分の答えに属します。参照してください:http://meta.stackexchange.com/questions/11474/what-is-the-etiquette-for-modifying-posts –
クール、ありがとう。 :) –
私はdreampulseとbadsyntaxの両方の回答が好きです。 repl.historyに加えて私の.bash_profileに加えて、ノードの対話型シェルでのコマンドヒストリと構文強調表示ですが、(スクリプトを実行するために)引数で呼び出されたときにreplをバイパスします。
function node(){
if test "$#" -lt 1; then repl.history
else env node [email protected]; fi; }
今すぐあなたのシェルまたは実行. ~/.bash_profile
を再起動して、あなたが行ってもいいです:
npm install -g repl.history
その後追加して、あなたの〜/ .bash_profileを編集します。今repl.historyを開きます
$ node
を実行している
は対話型シェルをnodejs、そして予想通り
$ node program.js [...]
は、ノードとprogram.jsを実行します。
io.js 2.0には、persistent REPL historyのサポートが含まれています。
env NODE_REPL_HISTORY_FILE=$HOME/.node_history iojs
履歴の最大長はio.js 5.0+でいるデフォルト1000
に、NODE_REPL_HISTORY_SIZE
で設定することができ、REPL履歴は(デフォルトで有効になっており、NODE_REPL_HISTORY_FILE
はNODE_REPL_HISTORY
を支持して非難されていますデフォルト:~/.node_repl_history
)。
@badsyntaxのようなエイリアスを作った: 'alias iojs = 'env NODE_REPL_HISTORY_FILE = $ HOME/.node_history iojs'' –
これまでに何を試しましたか? [node-shell](https://github.com/wdavidw/node-shell)には、多くの機能が搭載されているようです。 – TC1