私は最近、Gruntjs に恋をしており、あらゆる機会に喜んで参加して、開発生活をより簡単にしています。現在、SASS ファイルをコンパイルし、watch を実行し、nodemon を使用して、アプリの作業中にノード サーバーを更新し続けています。
だから、ここで私は朝を過ごした場所です。Node アプリケーションを実行する前に MongoDB を開始したいと考えています。Node アプリのセットアップで、データベース内の値をチェックし、値が空の場合は、情報が満載のテスト ファイルをテーブルにプッシュします。
現在、grunt-concurrentとgrunt-shell-spawnを使用して、必要な mongo および node コマンドを実行しようとしました。
grunt.initConfig({
shell: {
mongo: {
command: 'mongo'
},
node: {
command: 'node app.js'
}
},
concurrent: {
dev: {
tasks: ['shell:mongo','shell:node'],
options: { logConcurrentOutput: true }
}
}
});
grunt.loadNpmTasks('grunt-concurrent');
grunt.loadNpmTasks('grunt-shell-spawn');
ノードタスクを実行する前に、mongo コマンドが「ブロック」状態になるようにする方法はありますか? setTimeout 関数でノード タスク async を実行することでこれを実行できると思いますが、開発プロセスの変更が有効になるのを常に待つ必要はありません。現在、私はデータベース用に別のシェル タブを開いたままにしており、これを Grunt に統合してすべてを 1 か所にまとめたいと考えています。
広い範囲での重要性についてはよくわかりませんが、Node.js と MongoDB を利用している人なら誰でも、これは本当に便利だと思うでしょう。
ありがとう