所以我把头发拉到这里,我尝试过的一切都没有奏效。我有一个简单的 node.js 应用程序结构,如下所示:
var express = require('express');
var path = require('path');
var mysql = require('mysql');
var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');
var app = express();
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(express.static(path.join(__dirname, 'public')));
app.use('/', indexRouter);
app.use('/users', usersRouter);
//Database handler
//Here is completed with the data
var con = mysql.createConnection({
host: "",
user: "",
password: "",
database: ""
});
con.connect(function (err) {
if(err) throw err;
console.log("connected");
});
app.listen(55132, function () {
console.log("Server running at port 55132");
});
module.exports = app;
很简单,一些路由,但没什么奇怪的。我需要在我的其他脚本中使用变量 con,所以我试过这个:
module.exports.database = con;
所以我应该可以在我的 index.js 脚本中使用它(参见var indexRouter
参考资料),这里是 index.js 脚本:
var express = require('express');
var router = express.Router();
let app = require('../app');
let connection = app.database;
console.log(app); //Here returns {} so I can´t access any of the properties of the module
/* GET home page. */
router.get('/', function(req, res, next) {
}
module.exports = router;
我不知道我该怎么办,有什么建议吗?
对于进一步阅读,我建议您阅读此https://nodejs.org/api/modules.html#modules_exports_shortcut
只需将您的应用程序文件导出更改为
module.exports = {app,con};
并在您的索引文件中
const {app,con} = require('./app');
let connection = con;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句