我怎样才能将模块要求到我的文件中?
How can I require the module into my file?
我创建了一个 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 添加到路由文件中?非常感谢。
./
指的是当前目录,而 ../
指的是父目录。
从 /routes/users.js
您试图要求 ./model/db.js
试图在 /routes/model/db.js
.
中查找文件
尝试将其更改为 var connection = require('../model/db.js');
此外,值得注意的是您不需要包含 .js
,Node 会自动附加它。
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;
我创建了一个 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 添加到路由文件中?非常感谢。
./
指的是当前目录,而 ../
指的是父目录。
从 /routes/users.js
您试图要求 ./model/db.js
试图在 /routes/model/db.js
.
尝试将其更改为 var connection = require('../model/db.js');
此外,值得注意的是您不需要包含 .js
,Node 会自动附加它。
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;