に私showData.jsスクリプトは、それが はどのようにNode.jsのmysqlの接続起動時
var pool = mysql.createPool({
のNode.jsサーバーの起動時に接続プールを作成する方法はあり
を呼び出して実行されるたびに利用できるプールを作るには?私はserver.jsするcreatePoolを追加しようとしましたが、私は、私は
pool.getConnection(function(err,connection){
呼び出すときに私のshowData.jsスクリプトからオブジェクトにアクセスすることができないようでは、接続プールを起動することも必要ですnode.jsサーバーの起動?
mysql接続プールは、connection.releaseを呼び出した後でもになっていますか?
編集@Marco、私は得ているReferenceError:プールは定義されていません。私はshowData.jsにプールを引っ張っていないという問題があることを知っています。 node.jsによれば、モジュールを複数回ロードすることはOKです。ここでhttps://nodejs.org/api/modules.html
Caching
Modules are cached after the first time they are loaded. This means (among other things) that every call to require('foo') will get exactly the same object returned, if it would resolve to the same file.
Multiple calls to require('foo') may not cause the module code to be executed multiple times. This is an important feature. With it, "partially done" objects can be returned, thus allowing transitive dependencies to be loaded even when they would cause cycles.
If you want to have a module execute code multiple times, then export a function, and call that function.
から
は私の最新のセットアップです:
のlib/dbpool.js
var mysql = require('mysql');
var pool = mysql.createPool({
connectionLimit : 10,
host : 'someco.com',
user : 'pinco',
password : 'pallino'
});
module.exports = pool;
server.js
const pool = require('./lib/dbpool');
showData.js
'use strict';
module.exports = router => {
router.route('/show').post((req, res) => {
pool.query('SELECT * FROM db.users', function(err, rows, fields) {
server.jsとshowData.jsの両方に次の行が必要ですか?
const pool = require('./lib/dbpool');
server.jsにプールが必要ない場合は、モジュールはshowData.jsでのみ使用できます。 両方で必要な場合は、両方のファイルに「require」を追加できます。 –