Node.js Express フレームワークを試しており、Rails コンソールと同様に、コンソールを介してモデルと対話できるプラグインを探しています。NodeJSの世界にそのようなものはありますか?
そうでない場合、手動でオブジェクトを追加/削除したり、データのメソッドをテストしたりするなど、Node.js モデルとデータを操作するにはどうすればよいですか?
Node.js Express フレームワークを試しており、Rails コンソールと同様に、コンソールを介してモデルと対話できるプラグインを探しています。NodeJSの世界にそのようなものはありますか?
そうでない場合、手動でオブジェクトを追加/削除したり、データのメソッドをテストしたりするなど、Node.js モデルとデータを操作するにはどうすればよいですか?
次の行/コンポーネントを含む js ファイル (つまり、console.js) を作成して、独自の REPL を作成します。
var repl = require("repl");
var replServer = repl.start({});
replServer.context.<your_variable_names_here> = <your_variable_names_here>
。これにより、変数が REPL (ノードコンソール) で利用可能/使用可能になります。例: node アプリに次の行がある場合:
var db = require('./models/db')
次の行を console.js に追加します。
var db = require('./models/db');
replServer.context.db = db;
node console.js
console.js ファイルは次のようになります。
var repl = require("repl");
var epa = require("epa");
var db = require("db");
// connect to database
db.connect(epa.mongo, function(err){
if (err){ throw err; }
// open the repl session
var replServer = repl.start({});
// attach modules to the repl context
replServer.context.epa = epa;
replServer.context.db = db;
});
次のようにプロンプトをカスタマイズすることもできます。
var replServer = repl.start({
prompt: "Node Console > ",
});
完全なセットアップと詳細については、http: //derickbailey.com/2014/07/02/build-your-own-app-specific-repl-for-your-nodejs-app/をご覧ください。
オプションの完全なリストについては、プロンプト、色などの repl を渡すことができます: https://nodejs.org/api/repl.html#repl_repl_start_options
この情報を提供してくれたDerick Baileyに感謝します。
GavinBelson は、sequelize ORM (または repl で promise 処理を必要とするもの) で実行するための優れた推奨事項を持っています。
現在、sequelize も実行しており、ノード コンソールに--experimental-repl-await
フラグを追加しています。
毎回入力するのは大変なので、以下を追加することを強くお勧めします。
"console": "node --experimental-repl-await ./console.js"
のscripts
セクションに移動してpackage.json
、次を実行できます。
npm run console
すべてを入力する必要はありません。
次に、次のように、エラーを発生させることなく promise を処理できます。
const product = await Product.findOne({ where: { id: 1 });
ノードの使用経験はあまりありませんがnode
、コマンド ラインに入力してノード コンソールにアクセスできます。その後、モデルを手動で要求していました
簡単です:プログラムにREPLを追加します
これはあなたの質問に完全には答えないかもしれませんが、明確にするために、node.js は Rails よりもはるかに低レベルであり、Rails のようなツールやデータ モデルを規定していません。フレームワークというよりプラットフォームです。
より Rails に似たエクスペリエンスを探している場合は、Meteorなどの node.js の上に構築された、より「フル機能の」フレームワークを検討することをお勧めします。