私はnodejsのための独自のモジュールを書く方法を学びます。具体的にはさまざまなオブジェクトを実装して、アプリケーション全体で作業することができます。コールバック関数を持つmodule.exportsを持つオブジェクトをエクスポートする
私は結果にこのような何かを使用したい:
//assuming i have database:
Person_table(ID int A_I, NAME varchar, AGE int)
//code:
var p = new Person("John", 22);
p.writeToDatabase();
//the object is now written in database
を私は次のことを試してみましたが、私の理解を超えた何らかの理由では動作しません。 私は三つのファイル宣言している:、db.js、person.jsをapp.js
db.js
var mysql = require('mysql');
var conn = mysql.createPool({
host : 'localhost',
database: 'db_name',
user: 'user_name',
password : 'pass',
multipleStatement: true,
connectionLimit : 10
});
conn.getConnection(function(err){
if(err) throw err;
});
module.exports = conn;
person.js
var db = require('./db.js');
function Person(n, a) {
this.name = n;
this.age = a;
}
Person.prototype.writeToDatabase = function (callback) {
db.query("INSERT INTO Person_table(NAME, AGE) VALUES(?,?)", [this.name, this.age], function (err, rows) {
if (err) return callback(err);
else return callback(null, rows);
});
}
module.exports = Person;
app.js
var Person = require('./person.js')
var p = new Person("John", 22);
p.writeToDatabase(function(err, rows){
if(err) console.log(err);
else console.log("written to DB");
});
私はコードに何が問題なのか助けてくれてありがとう。 ボーナスとして、私は階層化されたnodejsアプリケーションを作成するために、モジュールのエクスポートとオブジェクトプロトタイプの件に関する良い文献を尋ねたいと思います。
あなたが必要とするのに ".js"を入れる必要はありません –
heh、私はもっと冗長にしたいと思っていましたが、これはほとんど問題ではありません:D –
いいえ、ただのコメント –