javascript - 使用 module.exports 通过脚本使用变量不起作用

标签 javascript node.js

所以我在这里拉扯我的头发,我尝试过的一切都不起作用。我有一个简单的 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;

我不知道该怎么办,有什么建议吗?

最佳答案

for forther reading i recommend you to read this https://nodejs.org/api/modules.html#modules_exports_shortcut

只需将应用程序文件导出更改为

 module.exports = {app,con};

在你的索引文件中

const {app,con} = require('./app');
let connection = con;

关于javascript - 使用 module.exports 通过脚本使用变量不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53726130/

相关文章:

Javascript:简单的 xml 请求

javascript - 无法从 React 前端向 Node.js 后端发送 POST 请求

node.js - NodeJS 中的 Bootstrap 模态窗口

mysql - Angular,从 mySql 数据库中存储的电子邮件验证用户

javascript - STR_TO_DATE 不适用于 Node js

mongodb - Mongoose:填充填充字段

javascript - 验证英国格式的日期

javascript - 动态添加的类适用于 <td> 但不适用于 <tire>。为什么?

javascript - 加载/包含内容的最佳方式? (jQuery 的 load() 与 PHP 的 include())

java - XML 与 JSON 将完整的树传递到 UI 上基于决策的动态表单