1. ホーム
  2. javascript

[解決済み] node.js REPLにスクリプトを読み込むにはどうしたらいいですか?

2022-04-23 11:58:10

質問

私はスクリプトを持っています foo.js には、REPL で使用したいいくつかの関数が含まれています。

nodeがスクリプトを実行し、宣言されたすべてのグローバルを含むREPLにジャンプする方法はありますか? python -i foo.py または ghci foo.hs ?

解決方法は?

ご指摘の通りの機能を提供するビルトインはまだありません。 しかし require を使用することです。 .load コマンド のように、REPL内で使用することができます。

.load foo.js

REPLで入力したのと同じように、一行ずつファイルを読み込んでくれます。 とは異なり require これは、読み込んだコマンドで REPL の履歴を汚染します。 しかし、以下のようにキャッシュされないため、繰り返し利用できるという利点があります。 require .

どちらが良いかは、ユースケースによって異なります。


編集する ストリクトモードでは動作しないので適用範囲は限定的ですが、3年経ってみて、もしスクリプトに 'use strict' を使用することができます。 使用 eval でスクリプトを読み込みます。 REPL の履歴を汚染することなく

var fs = require('fs');
eval(fs.readFileSync('foo.js').toString())