William Falcon
William Falcon

Reputation: 9823

Issue including js file in Node application

I want to create a manager to interact with mysql, but I'm not able to bring it into the main program. I'm mainly just trying to get the hang of javascript for this stuff (java, c background).

I have two files called main.js and MSYQLConnector.js. I want to use MYSQLConnector from

main.js

var root = __dirname, express = require('express');
var app = express();
var sql = require('./DBConnectors/MYSQLConnector.js');
var a = sql.sqlTest;//????? fail....

MYSQLConnector.js

var sqlTest = function (){
    var mysql      = require('mysql');
    var connection = mysql.createConnection({
        host     : 'localhost',
        user     : 'root',
        password : 'xxxx'
    });

    connection.connect();

    connection.query('SELECT * from asset', function(err, rows, fields) {
        if (err) throw err;

        console.log('The solution is: ', rows[0].solution);
    });

    connection.end();
};

How can I do the import? Thanks

Upvotes: 0

Views: 28

Answers (2)

Ben
Ben

Reputation: 5074

you're almost there, add "exports" in front of it:

exports.sqlTest = function (){
  var mysql      = require('mysql');
  var connection = mysql.createConnection({
    host     : 'localhost',
    user     : 'root',
    password : 'xxxx'
  });

  connection.connect();

  connection.query('SELECT * from asset', function(err, rows, fields) {
    if (err) throw err;

    console.log('The solution is: ', rows[0].solution);
  });

  connection.end();
};

Upvotes: 1

Chris Tavares
Chris Tavares

Reputation: 30411

You need to export the function from your module. Add:

exports.sqlTest = sqlTest;

to the bottom of your MYSQLConnector.js file.

Also, see the nodejs api documentation for more details.

Upvotes: 2

Related Questions