我创建了一个快速项目和目录结构,如:
/
- 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转换成路径文件吗?非常感谢。
答案 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;