如何将模块放入我的文件中?

时间:2015-03-31 02:55:57

标签: node.js express

我创建了一个快速项目和目录结构,如:

/
  - model
    db.js
  - routes
    users.js
  app.js

在./model/db.js中,我有一个MySql连接:

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

connection.connect();

在./routes/users.js中,我需要查询数据库:

var express = require('express');
var router = express.Router();
var connection = require('./model/db.js');   // always cannot find the module....

router.route('/')
.get(function (req, res) {
    connection.query(
        'select * from user',
        function (err, rows, fields) {
            if (err) {
                res.status(500).send('error');
            } else {
                res.send({
                    result      : 'success',
                    err         : '',
                    err_type    : '',
                    fields      : fields,
                    rows        : rows,
                    length      : rows.length
                });
            }
        }
    )
});


module.exports = router;

但是调试器总是说无法找到模块' ./ model / db.js'。

我是nodejs的新手,有人能告诉我如何将db.js转换成路径文件吗?非常感谢。

2 个答案:

答案 0 :(得分:1)

./表示当前目录,而../表示父目录。

/routes/users.js开始,您尝试./model/db.js尝试在/routes/model/db.js中找到文件。

尝试将其更改为var connection = require('../model/db.js');

此外,值得注意的是,您不需要包含.js,Node会自动附加此内容。

答案 1 :(得分:0)

var express = require('express');
var router = express.Router();
var connection = require('../model/db.js');   // the module....

router.route('/')
.get(function (req, res) {
    connection.query(
        'select * from user',
        function (err, rows, fields) {
            if (err) {
                res.status(500).send('error');
            } else {
                res.send({
                    result      : 'success',
                    err         : '',
                    err_type    : '',
                    fields      : fields,
                    rows        : rows,
                    length      : rows.length
                });
            }
        }
    )
});


module.exports = router;