私はnode.jsの初心者です。私の愚かな質問は申し訳ありません。nodejsを使用してモジュールからapp.jsにmysqlデータを返します
私は、ファイルを使って簡単に作業できるように、アプリを分けて整理したいと考えています。このような理由から、私はそこに私のMySQLデータベースを実行するモジュールを作成するが、私はmodule.Iに問題がapp.js
コンソールがundefined
を示しており、ブラウザは何も
を示していない私のメインのjsファイルで使用するモジュールデータを返すことはできません持っていますここに私のコード
App.js
var express = require('express'),
mysql = require('mysql'),
bodyParser = require('body-parser');
var app = express();
// app.set('view engine', 'jade');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: 'database'
});
var port = process.env.PORT || 8080;
var User = require('./models/userModels');
var bookRouter = express.Router();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
bookRouter.route('/books')
.post(function (req, res) {
// console.log(book);
// res.send(book);
})
.get(function (req, res) {
res.send(User.allUsers); // <--- shows nothing
console.log(User.allUsers); //<--- returned undefined
});
app.use('/api', bookRouter);
app.get('/', function (req, res) {
res.send('welcome to my API');
});
app.listen(port, function() {
console.log('Running on PORT via gulp ' + port);
});
userModels.jsある
var mysql = require('mysql');
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "",
database: "luxa"
});
module.exports = {
allUsers: con.connect(function (err) {
if (err) throw err;
con.query("SELECT * FROM users", function (err, result, fields) {
if (err) throw err;
// console.log(result); // return result correctly
// return result;
callback(err, result); // Error
});
}),
};
私の問題は何ですか?
'userModels'の中身は何ですか? – LEQADA
@LEQADA申し訳ありませんが、実際には 'userModel.js'の間違いで' userModule.js'でした。私はコード –
を編集しますが、まだ間違いがあるようです。ファイル名は 'userModel'ですが、' userModels'をインポートします。 – LEQADA