如何在module.exports中需要模块?

时间:2015-02-02 14:53:54

标签: mysql node.js module

我为nodejs创建模块

var mysql = require('mysql'), mysqlUtilities = require('mysql-utilities'), moment = require('moment');

function Model(dbsettings) {
    this.dbsettings = dbsettings;
    this.connection = "";
}

Model.prototype.addCategory = function(category) {
    this.connection.insert('category', {
            parent_id: 0,
            top: 0,
            column: 1,
            sort_order: 1,
            status: 1,
            date_modified: moment().format("YYYY-MM-DD HH:mm:ss"),
            date_added: moment().format("YYYY-MM-DD HH:mm:ss")
        }, function(err, recordId) {
            this.connection.insert('oc_category_description', {
                category_id: recordId,
                language_id: 1,
                name: category.name,
                meta_keyword: category.meta_keyword,
                meta_description: category.meta_description,
                description: category.description
            }, function(err, recordId) {
                console.dir({insert:recordId});
            });
        });
};

Model.prototype.connect = function(){
    this.connection = mysql.createConnection(this.dbsettings); 

      mysqlUtilities.upgrade(this.connection);

    // Mix-in for Introspection Methods
    mysqlUtilities.introspection(this.connection);

      this.connection.connect(function(err) {              
        if(err) {                                
          console.log('error when connecting to db:', err);
          setTimeout(this.connect, 2000);
        }                                     
      });                                  
      this.connection.on('error', function(err) {
        console.log('db error', err);
        if(err.code === 'PROTOCOL_CONNECTION_LOST') { 
          this.connect();                         
        } else {                                     
          throw err;                                 
        }
      });
}

module.exports = Model;
APP.js中的

 var Model  = require('./model.js');
    var model = new Model(db_config);
        model.addCategory({name: "piudoraska!", meta_keyword: "pdp dpd pd ", meta_description: "ddddddd", description: "category!!"});

如何在module.exports中要求模块(mysql,mysqlUtilities等..)?

我有错误

> G:\Files\nodejs\node_tiu\model.js:9
>         this.connection.insert('category', {
>                         ^ TypeError: Object  has no method 'insert'
>     at Model.addCategory (G:\Files\nodejs\node_tiu\model.js:9:18)
>     at Object.<anonymous> (G:\Files\nodejs\node_tiu\app.js:17:10)
>     at Module._compile (module.js:456:26)
>     at Object.Module._extensions..js (module.js:474:10)
>     at Module.load (module.js:356:32)
>     at Function.Module._load (module.js:312:12)
>     at Function.Module.runMain (module.js:497:10)
>     at startup (node.js:119:16)

...

... 。 。 。 。 。 。 。 。

。 。 。

。 。 。 。 。 。 。

。 。 。 .................................................. ...................

0 个答案:

没有答案