-1
app.jsは一度だけ処理されますか?その場合、app.jsでセットアップクエリを実行して、毎回実行する必要はありませんか?Express:app.jsのmysqlクエリが意味をなしますか
私はいくつかのリクエストで必要な国と地域の表を用意しています。
私はapp.js
でこれを置くことは意味がありません。このhttps://stackoverflow.com/a/21133217/406659
app.jsは一度だけ処理されますか?その場合、app.jsでセットアップクエリを実行して、毎回実行する必要はありませんか?Express:app.jsのmysqlクエリが意味をなしますか
私はいくつかのリクエストで必要な国と地域の表を用意しています。
私はapp.js
でこれを置くことは意味がありません。このhttps://stackoverflow.com/a/21133217/406659
ないような実装の何かを探しています。私はmodels
フォルダを作成し、そのフォルダ内のモジュールにすべてのデータベースロジックをカプセル化します。その後、アプリケーションの起動時に(つまり、app.listen()
コールバック)私はそのモジュールから私のためのセットアップを行うメソッドを呼び出します。例えば:私はあなたのセットアップの詳細を知らないようmodels
module.exports = {
setup:() => {
// Set up logic here - checking if tables exist etc
}
}
で
いくつかのDBモジュールは、次にapp.js
または同等
require <SOME DB MODULE>
app.listen(<PORT>,() => {
<SOME DB MODULE>.setup();
})
ノートで、これは一般的なアプローチであります - このアプローチは、カプセル化され再利用可能なコードを保証するだけです。私は可能な限りES6構文も使用しました。
希望これは
ディラン
私のクエリはしてやるべきことは、それがapp.js.でやって大丈夫ですだったのに役立ちます私のすべてのモデルコードはmodelsフォルダにあります。 – aWebDeveloper
十分な公正 - 一般的に言って、あなたはapp.jsであなたのアプリ全体をやることができますが、それは良い考えではありません。元の質問に答えるには、 'app.js'でsetup関数を呼び出すことは問題ありません。おそらく、抽象化されている限り、それを行うのに最適な場所です。あなたがそれらを必要とする前にそれらのテーブルが存在する限り、:) –
これらのクエリは、各リクエストまたは一度だけ呼び出されます – aWebDeveloper