データベースからデータを選択して表示するために、 my から./db/index.js
my file へのメソッドを要求していません。server.js
は次の/db/index.js
ようになります。
'use strict';
const pgp = require('pg-promise')();
const pg = pgp(process.env.DATABASE_URL);
let select = () => {
pg.any('SELECT username, status FROM status')
.then(function(data){
for (var item of data) {
return item.username + "'s status is " + item.status;
}
})
.catch(function(err) {
return 'Error: ' + err.message || err;
});
};
module.exports = () => {
select
};
そして、別のファイルから呼び出したい:
'use strict';
const port = process.env.PORT || 3000;
const bodyParser = require('body-parser');
const express = require('express');
const app = express();
const db = require('./db/');
app.use(bodyParser.urlencoded({extended: true}));
app.post('/logdash', function(req, res, next) {
res.status(200).send(db.select());
});
app.listen(port, function() {
console.log('Server is running on port', port);
});
私はHerokuを使用していますが、このようにログを見ると、ターミナルとSlackの両方にエラーが表示されていません(スラッシュコマンドです)。関数を適切に分離する方法についてのヘルプが見つかりません。select
このメソッドと別のファイルから他のメソッドを呼び出すにはどうすればよいですか?